通过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