تقديم نموذج باستخدام مسج دون الحاجة إلى التنقل إلى شاشة أخرى
سؤال
أنا أحاول أن تجعل من ذلك أن تقديم نموذج لا يسبب الصفحة للتنقل واستخدام ajaxSubmit تقديم المحتوى.ولكن عندما كنت اضغط على زر إرسال, فإنه لا يزال يتنقل إلى الصفحة في العمل سمة من النموذج.هيريس جافا سكريبت:
var options = {
success: processLogin
};
$('#loginform').submit(function() {
$(this).ajaxSubmit(options);
return false;
});
و ها هو شكل:
<form id='loginform' action='login.php' method='post'>
<table id='logintable'>
<tr>
<td>Room:</td>
<td><input id='roomname' type='text' name='roomname' /></td>
</tr>
<tr>
<td>Nickname:</td>
<td><input id='nickname' type='text' name='nickname' /></td>
</tr>
<tr>
<td colspan='2' class='center'><input type='submit' value='Submit' /></td>
</table>
</form>
المحلول
استخدام هذا الحدث.preventDefault()
$('#loginform').submit(function(e) {
e.preventDefault();
$(this).ajaxSubmit(options);
});
نصائح أخرى
وثمة خيار آخر هو تغيير المدخلات html الوسم <input id="save" type="Button" value="submit" />
الذي يتيح لك الزر الذي لا يفعل شيئا إلا تقديم جافا سكريبت هوك.
استخدام جافا سكريبت التالي إلى اياكس تقديم النموذج الخاص بك
$("#save").click(function() {
$("#loginform").ajaxSubmit();
}
في القيام بذلك تفقد القدرة على تقديم النموذج عن طريق الضغط على enter.يمكنك التغلب على هذا بما يلي قطعة من مسج:
$("input").keypress(function(e) {
if (e.which == 13) {
$("#save").click();
}
});
لا تنتمي إلى StackOverflow