点击表单提交作为按钮提交

Onclick form submit as button submit

本文关键字:按钮 提交 表单提交      更新时间:2023-09-26

我有一个链接与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提交…我怎么解决这个问题?

谢谢。

如果您使用的是<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你可以给提交按钮添加css,让它看起来像一个链接,然后把它替换成你自己的链接。

选项2

<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;
    });
});

我没有试过,但它可能对你有帮助,只要试一试,如果有帮助的话,请回复。

$(function() {
 $("#tbutton").click(function(){
     var frmValues = $('#validation').serialize();
     $.ajax({
    type: $this.attr('method'),
    url: "hello.php",
    data: frmValues
})
.done(function () {
    $("#para").text("Serialized! Input String is " + frmValues);
})
.fail(function () {
    $("#para").text("An error occured");
});
event.preventDefault();
 });
});