我做了一些代码,用户可以从zip上传一些图像.在下一页中,我需要在85*85像素的帧中分别显示所有图像.
问题是加载所有图像可能需要一些时间.所以我想在用户等待图像加载时显示加载gif.
我已经设置了图像的src the loading gifs,而我创建了一些真实来源为id的复选框
echo "<td><img src=\"beelden/ajax-loader-black-16.png\" id=\"img".$image."\" style=\" width: 85px; height: 85px; border: 1px solid gray; background-color: #fff; padding: 10px;\">";
echo "<input type=\"checkbox\" id=\"img[".$image."]\" name=\"check_image[]\" value=\"".$filename."\" /></td>";
<input type="hidden" name="aantal" id="aantal" value="<?=$image?>" >
Run Code Online (Sandbox Code Playgroud)
然后我创建了一些javascript来检查图像是否已加载,当它被加载时,它应该替换图像的源.
<script>
var aantal = document.getElementById("aantal").value;
for(var i = 0; i < aantal; i++){
var source = document.getElementById("img["+i+"]").value;
var img = new Image();
img.onload = function(){
$("#img"+i).attr('src', source);
}();
img.src = source;
}
</script>
Run Code Online (Sandbox Code Playgroud)
但这并不像我预期的那样工作,我认为只要加载第一个图像就会触发所有图像.我有什么想法或者如何解决这个问题?
所以基本上,我想在我的注册表单中添加一个功能,我将检查该用户名是否已存在于数据库中.
我有几个关于AJAX的问题 -
1)我想创建一个AJAX请求on_change函数,所以像这样 -
$('#username').change(function() {
$.ajax({
url: "validation.php"
});
});
Run Code Online (Sandbox Code Playgroud)
所以,据我所知,我必须在validation.php文件中使用PHP进行所有验证,对吗?是否需要任何特殊验证,或者只是使用sql语句进行简单验证 - SELECT * FROM 'users' WHERE 'username' = '. $_POST['username'];
2)据我所知,我必须通过$ .ajax传递POST值,对吗?如果是,我将如何通过validation.php文件访问它们?
3)我在validation.php文件中得到结果后,如何将它们传回(真或假 - 存在或不存在)?我需要将它们传回去,然后进行if检查,如果是真的 - 显示用户名已存在的错误,否则,不显示任何内容?
希望,你了解我即将创造的东西.我知道互联网上有很多教程,但我不喜欢通过教程创建一些东西,因为如果我自己创建它,下次会更容易理解;)!
编辑:另外,我正在使用CodeIgniter框架创建我的网站,那么我如何将ajax中的url属性传递给CodeIgniter模块?