通过php调用的javascript重置表单
好吧,我在谷歌上搜索了几个小时,没有发现任何有用的东西。我急需帮助 我有一个表单,里面有以下元素通过php调用的javascript重置表单,php,javascript,html,Php,Javascript,Html,好吧,我在谷歌上搜索了几个小时,没有发现任何有用的东西。我急需帮助 我有一个表单,里面有以下元素 <form action="sendmail.php" method="post" name="enquiry"> <table> <tr> <td>Name:-</td> <td><input type="text" name="name" /&
<form action="sendmail.php" method="post" name="enquiry">
<table>
<tr>
<td>Name:-</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Company:-</td>
<td> <input type="text" name="company" /></td>
</tr>
<tr>
<td>E-Mail:-</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Contact:-</td>
<td> <input type="text" name="contact" /></td>
</tr>
<tr>
<td>Requirement:-</td>
<td><textarea name="msg"></textarea></td>
</tr>
</table>
<input type="submit" value="submit" onclick="return validation(this.form);">
<input type="reset" value="Reset" />
</form>
姓名:-
公司:-
电邮:-
联系人:-
要求:-
php有这样一行代码:
<?php
if(mail($to, $subject,$message)) {
echo "<SCRIPT LANGUAGE='JavaScript'>alert('Your Enquiry was sent successfully we will get back to you shortly');
window.location.href='javascript:history.go(-1)';
document.enquiry.reset();
</SCRIPT>";
}
?>
您的问题在于javascript代码:
window.location.href='javascript:history.go(-1)';
document.enquiry.reset();
删除此代码
编辑:
使用此代码:
if(mail($to, $subject,$message)){?>
<SCRIPT LANGUAGE='JavaScript'>
alert('Your Enquiry was sent successfully we will get back to you shortly');
window.location.href='/*YOUR FORM PAGE LINK*/';
</SCRIPT>
<?php }
if(邮件($to,$subject,$message)){?>
警报(“您的询价已成功发送,我们将很快回复您”);
window.location.href='/*您的表单页面链接*/';
您的问题在于javascript代码:
window.location.href='javascript:history.go(-1)';
document.enquiry.reset();
删除此代码
编辑:
使用此代码:
if(mail($to, $subject,$message)){?>
<SCRIPT LANGUAGE='JavaScript'>
alert('Your Enquiry was sent successfully we will get back to you shortly');
window.location.href='/*YOUR FORM PAGE LINK*/';
</SCRIPT>
<?php }
if(邮件($to,$subject,$message)){?>
警报(“您的询价已成功发送,我们将很快回复您”);
window.location.href='/*您的表单页面链接*/';
这是因为你要回到历史中——浏览器在你返回/前进时会记住表单
你所做的并不是一种“正常”的用户体验——我建议你在“sendmail.php”文件中打印一个漂亮的页面,说声谢谢,然后让用户导航到他们想在你的网站上的任何地方。这是因为你要回到历史中——当你返回/前进时,浏览器会记住表单
你所做的不是一种“正常”的用户体验——我建议你在“sendmail.php”文件中打印一个漂亮的页面,说声谢谢,然后让用户导航到他们想在你的网站上的任何地方。正如Ed所说,你回到了历史中,浏览器会记住它
试试这个:
而不是这一行:window.location.href='javascript:history.go(-1);
写:window.location.href='RelativePathToActualForm';
正如Ed所说,您将回到历史,浏览器会记住它
试试这个:
而不是这一行:window.location.href='javascript:history.go(-1);
写:window.location.href='RelativePathToActualForm';
处理表单帖子后,您应该重定向到另一个页面(或再次重定向到您的表单)并在那里显示您的消息,例如:
php header("Location: form.php?formpostwassuccessful=1");
然后是表单页面
if(isset($_GET['formpostwassuccessful']))
echo "Thank you. Your form was sent.";
另请参见处理表单帖子后,您应该重定向到另一页(或再次重定向到您的表单),并在那里显示您的消息,例如:
php header("Location: form.php?formpostwassuccessful=1");
然后是表单页面
if(isset($_GET['formpostwassuccessful']))
echo "Thank you. Your form was sent.";
另请参见简单解决方案:只需使用jquery—在页眉部分使用一行即可将jquery包含在页面中
您提供的javascript代码段应包含:
window.location="theform_page_address" ;
而不是
window.location.href='javascript:history.go(-1)';
document.enquiry.reset();
在表单页面地址中:在标题部分添加以下js代码片段:
<script type="text/javascript">
$(document).ready(function(){
$('input').val('');
$('select').val('-1');
$('textarea').val();
});
</script>
$(文档).ready(函数(){
$('input').val('');
$('select').val('-1');
$('textarea').val();
});
编辑:我假设您的表单有输入
和文本区域
元素,这些元素的默认值为空,并且选择
元素,这些元素的默认值为-1。简单的解决方案:只需使用jquery-在页首部分使用一行即可将jquery包含在页面中
您提供的javascript代码段应包含:
window.location="theform_page_address" ;
而不是
window.location.href='javascript:history.go(-1)';
document.enquiry.reset();
在表单页面地址中:在标题部分添加以下js代码片段:
<script type="text/javascript">
$(document).ready(function(){
$('input').val('');
$('select').val('-1');
$('textarea').val();
});
</script>
$(文档).ready(函数(){
$('input').val('');
$('select').val('-1');
$('textarea').val();
});
编辑:我假设您的表单有input
和textarea
元素,它们的默认值为空,并且选择元素,这些元素的默认值为-1。首先看一看使用基于php会话的flash消息的示例
通常流量:
用户填写表单
按提交
php脚本sendmail.php验证表单
如果存在一些验证错误[设置错误消息]
如果存在一些邮件发送错误[设置错误消息]
如果一切正常[设置成功消息]
来自php的调用重定向到表单显示页面
[设置错误|成功消息]-使用上面提供的链接如何设置消息
现在,重要的一点是,每次呈现表单时,都应该检查设置消息,如果有一些消息,则显示它们
这些信息是如何工作的?
它只是将消息设置为session($\u session)数组,然后当消息显示时,消息将从session中取消设置。首先查看使用基于php会话的flash消息的示例
通常流量:
用户填写表单
按提交
php脚本sendmail.php验证表单
如果存在一些验证错误[设置错误消息]
如果存在一些邮件发送错误[设置错误消息]
如果一切正常[设置成功消息]
来自php的调用重定向到表单显示页面
[设置错误|成功消息]-使用上面提供的链接如何设置消息
现在,重要的一点是,每次呈现表单时,都应该检查设置消息,如果有一些消息,则显示它们
这些信息是如何工作的?
它只是将消息设置为session($\u session)数组,然后当消息显示时,消息将从会话中取消设置。您的重置是在重定向后进行的。如???该页面加载然后重置??我认为这是应该发生的事情…我该如何修复它?sry但我对javascript仍然是新手“急需帮助”-这样的语言受欢迎吗?Apolo语言的gies.我是这个社区的新手,承诺要发展更好的et