2017-02-15 83 views
0

控制我在我的代码表单提交的功能

<form role="form" action="" method="POST"> 
    ... 
    <div class="box-footer"> 
     <button type="submit" onsubmit="submitForm()" class="btn btn-primary">Save</button> 
    </div> 
    ... 

@section('footer_js') 
    <script> 
     function submitForm() {return false;}; 
    </script> 
@endsection 

目前透过按钮,我想通过该submitForm通过()函数来控制有效数据提交。我所粘贴的代码不起作用,因为提交始终有效。也许属性'onsubmit'不适合使用?

回答

0

一种方法是在你的函数中submitForm把e.preventDefault阻止你的表单提交服务器端。这将使你然后做的JavaScript /前端验证:

function submitForm(e) 
{ 
    e.preventDefault(); 

    //Get user Values 
    fname = $('#firstName').val(), 
    email= $('#email').val(), 

    if (validateName(fname) == true && validateEmail(email) == true) 
    { 

     $.ajax ({ 
     // you could then do an ajax call 


    } 


} 

// This function will return a true value 
// if your variable contains regex 
function validateName(myname) { 
    var re = /[a-z]/i; 
    return re.test(myname); 
} 

function validateEmail(myemail) { 
    var re = /[a-z]/i; 
    return re.test(email); 
} 

如果你有叫名字表单域,并呼吁表单字段名字,你可以检查用户输入对你的标准值。如果我的例子是检查用户的输入是否在A-Z之间。完成之后,您可以使用ajax发送用户的输入服务器端以进一步验证。

+0

感谢您的回答。如果我可以使用ajax,但是页面URL对应于一个API调用(这是为什么action =“”method =“POST”),并且必须使用它,那将会很好。我试着添加'e.preventDefault();' 'return false'行之前的代码,但没有阻止操作 – user1403546