好吧,我已经尝试了我能找到的所有建议,但在提交表单和淡出后这些值仍然存在。如果有人有建议...
<script type="text/javascript">
$(document).ready(function() {
$('#form1').ajaxForm( { beforeSubmit: validate } );
function validate(formData, jqForm, options) {
var name = $('input[name=name]').fieldValue();
var email = $('input[name=email]').fieldValue();
var message = $('textarea[name=message]').fieldValue();
if (!name[0]) {
alert('Please enter a value for name');
return false;
}
if (!email[0]) {
alert('Please enter a value for email');
return false;
}
if (!message[0]) {
alert('Please enter a value for message');
return false;
}
}
var name = $('input[name=name]').val('');
var email = $('input[name=email]').val('');
var message = $('textarea[name=message]').html('');
$("#form1").ajaxForm(function(){
$("#formplic").fadeOut(1000, function() {
$(this).html("<img src='images/postauto2.png'/>").fadeIn(2000);
});
});
});
</script>
我已经添加了建议,但仍然不起作用。也许我没有把它们放在正确的地方......?
Edit: 为什么不起作用
通读你的剧本。您添加的建议(我的代码)只是全局范围内的常规语句 - 当浏览器加载文件时
- 设置文档准备方法
- 实现功能验证
- 执行将值设置为空白
- 设置 ajaxForm 值
我假设您想在验证表单后重置表单(并继续)。
在这种情况下,您希望在表单完成时运行重置代码。那是什么时候?这里:$("#form1").ajaxForm(function(){...
其他人实际上已经给了你确切的代码(我相信),但我真的认为这是你对计算机和 JavaScript 以及语言如何执行的理解的问题。你确实应该做更多的功课并尝试遵循脚本的逻辑。简单的调试工具,例如alert("I'm resetting the values now!")
会告诉您代码何时执行(无论它是否在正确的位置)
在您的代码中,它实际上没有尝试清除文本。这些是告诉浏览器重置/删除内容的一些指令。我猜你只想在它正确时清除它,这样你就可以将它添加到.ajaxForm
打回来
var name = $('input[name=name]').val(''); //inputs are like this <input value="Hi">
var email = $('input[name=email]').val('');
var message = $('textarea[name=message]').html(''); //textareas are like this <textarea>Hi</textarea>
顺便说一句,fadeOut 只会使其“淡出”,最终会隐藏该块(css 显示:无;我猜),但不会更改 DOM 元素/表单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)