javascript - 如何验证表单然后发出 post http 请求 jQuery

标签 javascript jquery jquery-validation-engine

我正在尝试验证我的表单。例如,当用户没有输入任何值或空格时,jQuery 验证插件 将检测到错误并显示一条错误消息,称为“请填写字段”或“无空格” .如果验证正确,将在 jQuery ajax 的帮助下发出 post HTTP 请求,将信息发送到服务器。目前,我能够验证但无法在用户单击提交时发出 post HTTP 请求。这是我的代码

<script>

    function WebFormData(inLessonName) {

        this.lessonName = inLessonName;
    }

    $('#dataForm').validate({

        rules: {
            lessonName: {
                required: true,
                nowhitespace: true
            }
        },

        submitHandler: function (form) {

            var collectedLessonName = $('#lessonName').val();

            var webFormData = new WebFormData(collectedLessonName);
            var webFormDataInString = JSON.stringify(webFormData);

            $saveSessionSynopsisDataHandler = $.ajax({
                method: 'POST',
                url: '/API/Session',
                dataType: 'json',
                contentType: 'application/json;',
                data: "'" + webFormDataInString + "'"
            });
        }
    });


</script>
<form id="dataForm" role="form" class="form-horizontal">
    <label class="control-label  col-md-4" for="lessonName">lesson name</label>
    <input type="text" id="lessonName" name="lessonName" class="form-control font-bold"
           maxlength="100" placeholder="lessonName" value="" />

        <div class="col-md-10">
            <div class="pull-right">
                <input type="button" class="btn btn-primary" value="Save" id="saveButton" />
       
            </div>
        </div> 
</form>

最佳答案

对调用函数的form 使用onsubmit 方法。如果它返回 false 则不提交,如果返回 true,则表单提交。只需将我的示例添加到您的 jquery

function validation(){
  // check whatever you want to check here, return false if there is an error like white space
  if (document.getElementById("name").value.length < 1) {
    window.alert("fill the field");
    return false; // form not submited
  } else {
    // if everything is fine then you can submit
    return true;
  }
    
}
<form onsubmit="return validation()">
Name: <input type="text" name="fname" id="name">
<input type="submit" value="Submit">
</form>

关于javascript - 如何验证表单然后发出 post http 请求 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50756092/

相关文章:

javascript - Bootstrap 4 Modal with Tabs 内的 JQuery Validation Form 不会提交

javascript - 使用 nodemailer 发送多封单独的电子邮件时出现问题

javascript - 数据表 orderable=false 直接在表上

javascript - 在文本框中输入值时我需要调用一个函数

javascript - AJAX 请求后刷新 jQuery 代码

JQuery 空间验证

javascript - DC.JS Crossfilter - 添加运行累计和

javascript - 使用 jQuery,如何找到出现在另一个类之间的类的所有实例

javascript - 单击具有长度的按钮时如何发出警报?

visual-studio-2015 - jquery-validation 缺少 dist 文件夹