jQuery 提交仅在第二次点击后工作
Posted
技术标签:
【中文标题】jQuery 提交仅在第二次点击后工作【英文标题】:jQuery submit working after second click only 【发布时间】: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
对我来说,给定的代码正在工作..
这里很好
【参考方案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());
【讨论】:
如果你把代码读到最后你会看到,我只是没有复制/粘贴好以上是关于jQuery 提交仅在第二次点击后工作的主要内容,如果未能解决你的问题,请参考以下文章
jQuery - 更改 iframe src 时仅在第二次单击时触发