好吧,我已经试过每一个建议,我能找到,但这些值提交表单和淡出后仍然存在。 如果任何人有什么建议?
<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>
我已经添加了建议,但它仍然没有工作。 也许我不把他们在正确的地方...?
编辑 :为什么它不工作,通过你的脚本读取。 您添加的建议(我的代码)就是在全球范围内有规律的语句 - 当浏览器加载文件时,它
- 设置文件准备好方法
- 实现功能验证
- 执行设定值到空白
- 设置给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>
顺便说一句,只是淡出使得“淡出”,它结束了隐藏块(CSS显示:无;我猜),但不改变的DOM元素/形式。
尝试值将被提交时设置的输入值作为空白。
例如,变种名称= $( '输入[名称=名]')VAL(”“)。
使用.VAL()函数来清除文本的价值,和HTML()函数来清除同时,它会更容易在jQuery的操作,如果你给每个输入自己的ID。
例如,创建一个这样的形式:
<form method="post" id="frmMessage" action="some_script.php">
<input type="text" name="name" id="txtName" />
<input type="text" name="email" id="txtEmail" />
<textarea name="message" id="txtMessage"></textarea>
</form>
然后在您的jQuery代码:
$("#frmMessage").ajaxForm( function()
{
// Do whatever else you need to do first...
// Fade out the form's container
$("#txtName").val(''); // Clear the value of each box.
$("#txtEmail").val('');
$("#txtMessage").html(''); // Different for textareas!
});