Javascript 从jQueryAjax调用输入表单时,该表单不起作用
对不起,如果我问了一个可笑的问题,我对ajax和jQuery完全是新手 基本上我有一个如下的表格Javascript 从jQueryAjax调用输入表单时,该表单不起作用,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,对不起,如果我问了一个可笑的问题,我对ajax和jQuery完全是新手 基本上我有一个如下的表格 <form id="login_form" > <input type="text" id="inputEmail" name="username"> <input type="password" id="inputPassword" name="password"> <div id="MyDynamicDiv"></div> <bu
<form id="login_form" >
<input type="text" id="inputEmail" name="username">
<input type="password" id="inputPassword" name="password">
<div id="MyDynamicDiv"></div>
<button id="signin" name="signin" type="submit">button</button>
</form>
<script>
$("#login_form").submit(function() {
if ($("#login_form").valid()) {
$('.messagebox').slideUp('slow');
var data1 = $('#login_form').serialize();
$("button").button('loading');
$.ajax({
type: "POST",
url: "login/login.php",
data: data1,
dataType: 'json',
success: function(msg) {
if (msg.result == 12) {
$('#MyDynamicDiv').load('captcha.php');
}
if (msg.result == 1) {
$('.messagebox').addClass("success-message");
$('.message').slideDown('slow');
$('#alert-message').text("....");
$('#login_form').fadeOut(5000);
window.location = "members.php"
} else { return false;}
</script>
我可以调用captcha.php并显示在页面上,但是表单不适用于验证码输入。我应该用另一种方式来称呼它,我在任何地方都找不到我应该做什么
编辑:
验证码的输入值似乎没有正确发送/发布。如果我使用嵌入到登录表单中的captcha.php代码,那么它就会正常工作。
提前感谢,您的验证码输入似乎在
元素之外,因此在序列化()表单时,它不会包含在POST数据中。将输入移动到表单元素内
您似乎缺少一些右括号和大括号
由于异步特性,从success函数执行返回false
不会产生任何效果。相反,您应该在submit事件中返回false,或者防止默认值
已更正带有注释更改的代码(假设您已移动验证码输入):
对于将来的调试,请记住检查控制台(F12)是否有错误,并缩进代码,因为这样会使缺少的大括号更加明显。您可以使用JSFiddle的TidyUp特性自动缩进它。那么您是说ajax加载函数应该发布captcha输入值,对吗?代码是好的,实际上我应该错过写下来的。div MyDynamicDiv在表单中
<input type="text" name="captcha_code">
<img id="captcha" src="/test/securimage/securimage_show.php">
<a href="#" id="captcha_link" onclick="document.getElementById('captcha').src = '/test/securimage/securimage_show.php?' + Math.random(); return false">[ Different Image]</a>
echo json_encode( array('result'=>12));
$("#login_form").submit(function (e) { // capture event
e.preventDefault(); // always prevent the form from submitting
if ($("#login_form").valid()) {
$('.messagebox').slideUp('slow');
var data1 = $('#login_form').serialize();
$("button").button('loading');
$.ajax({
type: "POST",
url: "login/login.php",
data: data1,
dataType: 'json',
success: function (msg) {
if (msg.result == 12) {
$('#MyDynamicDiv').load('captcha.php');
}
if (msg.result == 1) {
$('.messagebox').addClass("success-message");
$('.message').slideDown('slow');
$('#alert-message').text("....");
$('#login_form').fadeOut(5000);
window.location = "members.php"
}
} // was missing
}); // was missing
} // was missing
}); // was missing