【问题标题】:How can I refresh a page after form submit? [duplicate]表单提交后如何刷新页面? [复制]
【发布时间】:2023-03-12 10:15:01
【问题描述】:

嗨,任何人都可以在这个问题上帮助我,请发布整个代码,因为我真的是编码方面的菜鸟,并且已经浪费了很多时间来寻找正确的答案。如果我想为这款游戏投票,请参阅此页面上的“spielbewertung” http://www.spielonline.ch/spiel.php/Kogama-Ostry.html 该页面在投票后从页面 spiel.php 加载 iframe nickolodeonspelheader.php,并且 url 看起来像这样 http://www.spielonline.ch/nickelodeonspelheader.php/Kogama-Ostry.html 哪个offcourse是错误的,它应该在输入后更改数据库中的数据并返回原始父页面,以便投票后可以玩游戏。这是表单代码:

<table style="display: inline-block;"><tr>

<td class="top" colspan="1" width="100%"><h2>Spielbewertung</h2></td></tr>
    <tr><td width="50%" style="align:left;">
    <form name="rating" action="" method="post">
      <p style="font-family: tahoma; font-size: x-small;">
        <b>Spiel bewerten:</b>
                     <select name="number">
                      <option value="">-</option>
        <option value="3">3 = sehr schlecht</option>
        <option value="4">4 = mangelhaft</option> 
        <option value="5">5 = langweilig</option>
        <option value="6">6 = ausreichend</option>
        <option value="7">7 = befriedigend</option>
        <option value="8">8 = gut</option>
        <option value="9">9 = sehr gut</option>
        <option value="10">10 = hervorragend</option>
        </select>
        <input type="submit" name="vote" value="bewerten" style="cursor: pointer" />        
                              </p>
                 </form>

    </td></tr>
</table>

非常感谢您提前提供的帮助!

【问题讨论】:

  • 重定向会一遍又一遍地加载页面,否则我一定做错了,如果你愿意,请给我正确的重定向代码。

标签: javascript php forms submit


【解决方案1】:

也许你可以使用这篇文章的建议:callback when form submitted using submit() method 并将 alert("done") 替换为 location.reload();

例如:

<!-- Import jQuery in your <head> tag -->

<head>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>

<body>
<!-- your html source -->

<table style="display: inline-block;"><tr>

<td class="top" colspan="1" width="100%"><h2>Spielbewertung</h2></td></tr>
    <tr><td width="50%" style="align:left;">

<!-- Add id attribute for form -->

    <form id="submit-form" name="rating" action="" method="post">
  <p style="font-family: tahoma; font-size: x-small;">
    <b>Spiel bewerten:</b>
                 <select name="number">
                  <option value="">-</option>
    <option value="3">3 = sehr schlecht</option>
    <option value="4">4 = mangelhaft</option> 
    <option value="5">5 = langweilig</option>
    <option value="6">6 = ausreichend</option>
    <option value="7">7 = befriedigend</option>
    <option value="8">8 = gut</option>
    <option value="9">9 = sehr gut</option>
    <option value="10">10 = hervorragend</option>
    </select>
    <input type="submit" name="vote" value="bewerten" style="cursor: pointer" />        
                          </p>
             </form>

</td></tr>

<script>
$form = $("#submit-form"); 
$form.on("submit",function()
{
   alert("submitting..");
   //do ajax
   $.ajax({
       url:<submit url>,
       type:post,
       success:function() {
           location.reload();
       }
   });
});
$form.submit();
</script>

</body>

【讨论】:

  • 你能否说得更具体一些,我不明白那里的代码,需要确切地知道我需要在我的页面中放入什么才能使其正常工作。
  • location.reload() 刷新页面。您只需要在提交表单时调用它。他在这里异步提交表单,然后在完成后刷新页面。
  • 我应该把 ajax 脚本放在输入行之后还是 之后?我需要在该脚本中填写一些内容还是那样工作?
  • @JacobVendrig 请查看 jquery.org 和 mozilla 开发者网络的 js 文档
  • @linherest:如果你使用jquery,请至少告诉它,或者包含必要的文件......
猜你喜欢
  • 2020-06-27
  • 1970-01-01
  • 2016-12-01
  • 2012-05-25
  • 1970-01-01
  • 2013-09-21
相关资源
最近更新 更多