我正在处理留言板,如果javascript
被禁用,则必须验证输入表单。如果启用了javascript,则必须让AJAX停止刷新并submit
表单。
我有一个由PHP验证的html表单。现在我正在尝试添加jquery
和ajax
来停止页面刷新。
我在提交按钮上添加了一个加载gif
和非活动输入字段。但是当我添加$ .ajax时,gif不会停止旋转,字段也不会变为活动状态。刷新页面后,我可以看到输入数据已添加到数据库中。
我使用ajax
时很新,也许你可以帮我找到解决问题的方法。
这是我的代码:
$(document).ready(function(){
$("#submit").click(function(e){
e.preventDefault();
// getting input values by id
var fullname = $("#fullname").val();
var message = $("#message").val();
// array for input values
var data = { fullname : fullname,
message : message };
//disabled all the text fields
$('.text').attr('disabled','true');
//show the loading sign
$('.loading').show();
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "validation.php",
//dataType : 'json',
data: data,
cache: false,
success: function(data){
alert('success');
}
}).done(function(result) {
if (result == "")
form.submit();
else
alert(result);
}).fail(function() {
alert('ERROR');
});
});
});
当我使用dataType : 'json',
时,我获得了成功和输入值警报,我收到错误警告。
我会感激任何帮助。
答案 0 :(得分:1)
也许一旦你显示.gif图像,你就不会再次隐藏相同的.gif图像,尽管你的ajax已经完成或停止或失败(无论如何)。
因此,在ajax成功添加以下两行以隐藏.gif并启用文本字段。
//enabled all the text fields
$('.text').prop("disabled", false);
//hide the loading sign
$('.loading').hide();
整个代码看起来像这样,
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "validation.php",
data: data,
cache: false,
success: function(data){
//enabled all the text fields
$('.text').prop("disabled", false);
//hidethe loading sign
$('.loading').hide();
alert('success');
}
});