Onclick表单提交为按钮提交

时间:2015-06-05 04:01:13

标签: javascript php jquery ajax

我有onclick attr的链接提交我的表单。像这样:

<a href="javascript:void(0);" onclick="myFunc()">lorem ipsum</a>

function myFunc() {
$('.ajaxform').submit();
}

问题是..我正在使用ajax函数来执行非刷新提交..我还有另一个这样的脚本:

jQuery(document).ready(function(){

    jQuery('.ajaxform').submit( function() {

        $.ajax({
            url     : $(this).attr('action'),
            type    : $(this).attr('method'),
            dataType: 'json',
            data    : $(this).serialize(),
            success : function( data ) {
                        for(var id in data) {
                            jQuery('#' + id).html( data[id] );
                        }
                      }
        });

        return false;
    });

});

如果我使用输入按钮类型提交ajax工作..但它使用onclick提交无效...我该如何解决?

感谢。

3 个答案:

答案 0 :(得分:0)

如果您使用<a>属性,则代替内联onclick属性单独编写click函数,然后使用event.preventDefault();然后提交表单

<a id='someId' href="javascript:void(0);" onclick="myFunc()">Submit</a> //Give some id
    $(function(){
     $('#someId').click(function(){
     event.preventDefault(); //This will prevent the default action of <a> attribute

     $('.ajaxform').submit(function(){
      //write the functionality here

        });

    }); 
   });

答案 1 :(得分:0)

选项1 您可以将css添加到提交按钮,使其看起来像链接,并将其替换为您的链接。

选项2

HTML

<form id="form1" method="POST" action="#" >
<input type="text" class="youwant" name="youwant" id="youwant" />
<a href="#" class="myform" id="myform">lorem ipsum</a>
</form>

<强>的JavaScript

jQuery(document).ready(function(){

    $('#myform').on("click", function(event) {

        $.ajax({
            url     : $(this).attr('action'),
            type    : $(this).attr('method'),
            dataType: 'json',
            data    : $(this).serialize(),
            success : function( data ) {
                        for(var id in data) {
                            jQuery('#' + id).html( data[id] );
                        }
                      }
        });

        return false;
    });

});

我没有尝试过,但它可能对你有帮助,只要试一试,如果有帮助就做回复。

答案 2 :(得分:0)

public static Boolean isNumber(String item) {
            String pattern = "^-?[0-9]\\d*(\\.\\d+)?$";
            return item.matches(pattern);
}