【问题标题】:jQuery submit working after second click onlyjQuery 提交仅在第二次点击后工作
【发布时间】:2018-05-25 02:52:19
【问题描述】:

我编写的这段代码应该使用 jQuery 和 iframe 提交注册表单 (PHP)。

Javascript

<script type="text/javascript">
    $(document).on('click', '#reg_form_sub', function(event) {

        var error_message_lgn = $("#reg_frame").contents().text();

        $('#reg_error').text(error_message_lgn);

    });
</script>

HTML

    <iframe name="reg_frame" id="reg_frame" style="display:none;" src="register.php"></iframe>
    <table>
        <tr>
            <td>
                <p id="reg_error"></p>
            </td>
        </tr>
        <tr>
            <td><input type="email" name="reg_email" id="reg_form_input" placeholder="Email"></td>
        </tr>
        <tr>
            <td><input type="password" name="reg_pass" id="reg_form_input" placeholder="Password"></td>
        </tr>
        <tr>
            <td><input type="password" name="reg_pass_confirm" id="reg_form_input" placeholder="Confirm password"></td>
        </tr>
        <tr>
            <td><input type="submit" name="reg_submit" id="reg_form_sub" value="Send me a confirmation email"></td>
        </tr>
    </table>
</form>

这是一种工作,但是当我第一次单击按钮时没有任何反应。

当我第二次单击时,我从 PHP 获得回声(脚本提交表单、创建帐户等,但只有在第二次单击后才会收到回声)。

【问题讨论】:

  • 为什么是style="display:none;"?也许你的 iframe 没有专注于启动,所以一旦 iframe 加载,你就必须将焦点设置到 iframe
  • 对我来说,给定的代码正在工作..
  • 这里很好

标签: javascript php jquery html iframe


【解决方案1】:

我刚刚添加了 onload,现在它可以工作了

$(document).on('click', '#reg_form_sub', function(event) {

    $('#reg_frame').on("load", function() {

      var error_message_lgn = $("#reg_frame").contents().text();

      $('#reg_error').text(error_message_lgn);

    });

  });

【讨论】:

    【解决方案2】:

    首先没有表单标签。如果您打算保存数据,请使用按钮单击功能。

    $("button_id_name").click(function(){});
    

    【讨论】:

    • 如果你把代码读到最后你会看到,我只是没有复制/粘贴好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2013-11-11
    • 2017-03-29
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    相关资源
    最近更新 更多