Javascript 停止提交表格
我有一个表格,提交时应该看看文本区域是否没有文本或占位符文本 如果有,就不应该提交。类似于验证。我无法停止表单提交Javascript 停止提交表格,javascript,jquery,validation,Javascript,Jquery,Validation,我有一个表格,提交时应该看看文本区域是否没有文本或占位符文本 如果有,就不应该提交。类似于验证。我无法停止表单提交 $(document).ready(function () { var options = { target: '.user-status', // target element(s) to be updated with server response beforeSubmit: showRequest,
$(document).ready(function () {
var options = {
target: '.user-status',
// target element(s) to be updated with server response
beforeSubmit: showRequest,
// pre-submit callback
success: showResponse,
// post-submit callback
// other available options:
//url: url // override for form's 'action' attribute
//type: type // 'get' or 'post', override for form's 'method' attribute
//dataType: null // 'xml', 'script', or 'json' (expected server response type)
//clearForm: true // clear all form fields after successful submit
resetForm: true // reset the form after successful submit
// $.ajax options can be used here too, for example:
//timeout: 3000
};
$('#updateStatus').submit(function () {
$(this).ajaxSubmit(options);
return false; // prevent a new request
});
function showRequest(formData, jqForm, options) {
var textbox = $('#StatusMessageMessage').val();
if ((textbox == '') || (textbox == "What have you been eating ?")) {
alert(text);
return false;
} else {
$('#StatusMessageMessage').attr('disabled', true);
}
}
function showResponse(responseText, statusText, xhr, $form) {
$('#StatusMessageMessage').attr('disabled', false);
}
statusMEssagebox();
});
function statusMEssagebox() {
var textholder = $('#StatusMessageMessage').val();
$('#StatusMessageMessage').focus(function () {
if ($(this).val() == textholder) $(this).val("");
$(this).animate({
"height": "48px",
}, "fast");
$('.share').slideDown("fast");
$(this).TextAreaExpander(48, 75);
});
$('#StatusMessageMessage').blur(function () {
if ($(this).val() == "") {
$(this).val(textholder);
$('.share').slideUp("fast");
$(this).animate({
"height": "18px",
}, "fast");
}
});
}
您使用的是相等运算符,而不是比较运算符 这: 应该是:
if (textbox == '' || textbox == "What have you been eating ?") {
您可能还想了解如何使用jQuery通过Ajax提交表单:
.submit
事件,然后使用.ajaxSubmmit
手动提交。您可以简单地尝试以下方法:
$(function() {
$('#updateStatus').ajaxForm({
beforeSubmit: function(formData, jqForm, options) {
var value = $('#StatusMessageMessage').val();
if (value == '' || value == 'What have you been eating ?') {
return false;
}
}
});
});
谢谢所以我应该把它放在提交而不是点击上?不会在提交或单击时尝试。In应该位于
$(document).ready
中,如我的示例所示。您只需声明updateStatus
将是一个ajax表单,这意味着当表单提交时,它将发送一个ajax请求,而不是普通请求。我们还订阅了beforeSubmit
事件,该事件允许我们在出现验证错误时取消提交。该事件已在文档内部就绪。我已经编辑了代码。现在,当验证失败时,它将发送一个普通请求,而不是ajax(在您的示例中,您订阅的是表单的.submit事件,这不是我建议的。在我的示例中,我在$(文档)中调用.ajaxForm
。准备好了。
。哎哟。明白了。只是好奇。有什么好处?我更改了它。但它不会停止表单通过正常提交进行提交(在这里尝试ajax)
$(function() {
$('#updateStatus').ajaxForm({
beforeSubmit: function(formData, jqForm, options) {
var value = $('#StatusMessageMessage').val();
if (value == '' || value == 'What have you been eating ?') {
return false;
}
}
});
});