【问题标题】:JS form post and get answer [duplicate]JS表单发布并获得答案[重复]
【发布时间】:2013-04-12 19:26:07
【问题描述】:

对不起,我的英语不是我的国语。

接下来是我的问题:

我想将表单的所有输入的值发布到 php 文件并得到答案并将其写入 div。

例如:

我有一个前面有空白 div 的表单:

<div id="msg" name="msg"></div>

<form method="???" action="???">
<input type="text" name="login" id="login" value="" />
<input type="password" name="passwd" id="passwd" value="" />
<input type="submit" value="send" />
</form>

当我单击“发送”时,它应该将所有输入值发送到,例如,register.php,不刷新页面,id 为“msg”的 div 应该得到什么 php 回答。比如回答“账号注册成功”,就出现在这个div中。我怎样才能做到这一点? (希望使用 jQuery)。

【问题讨论】:

标签: php javascript jquery json forms


【解决方案1】:

使用应该使用 jQuery ajax 功能 http://api.jquery.com/jQuery.post/ http://api.jquery.com/jQuery.ajax/

看到这个问题:Submit a form using jQuery

还有这个问题:Submit form using AJAX and jQuery

已经有足够多的可用文档了。您是否甚至寻找过解决方案?

【讨论】:

    【解决方案2】:

    在表单中添加name属性,在提交按钮上调用ajax函数将数据动态提交到register.php,成功后替换div的innerHtml中的消息。

    如需帮助,请参考以下链接:

    https://stackoverflow.com/a/8820803/1687983

    Ajax Form Submit with submit button

    【讨论】:

      【解决方案3】:

      您应该使用 jQuery 事件:submit 来解释提交,如下所示:

      $('form#regForm').submit( function() {
         $.post( 'register.php', $('form#regForm').serialize(), function(data) {
             //Use the data to understand how the registration went.
             $("#msg").html("Good/Bad");
         }
         return false;
      );
      });
      

      HTML:

      <div id="msg" name="msg"></div>
      <form id="regForm" method="post" action="register.php">
          <input type="text" name="login" id="login" value="" />
          <input type="password" name="passwd" id="passwd" value="" />
          <input type="submit" value="send" />
      </form>
      

      【讨论】:

      • 我可以使用“data(html)”之类的东西来输出所有 register.php 将写入的内容吗?
      • 是的,你可以这样做 $("#msg").html(data);但是,要警惕 XSS 攻击。 data 是 register.php 的输出
      猜你喜欢
      • 2018-07-03
      • 1970-01-01
      • 2013-08-30
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多