使用AJAX提交表单,无需按钮

时间:2016-02-15 17:46:50

标签: php jquery ajax forms submit

我正在尝试使用AJAX发送表单而不使用提交按钮。使用提交按钮一切正常,但如果我尝试通过单击其他内容提交表单,则无效。

我找了一段时间的答案,但到目前为止找不到任何有用的东西。

function ajaxSubmit(){
  var showHideForm = jQuery('#dashboard-hki-subjects-form').serialize();

 $.ajax({
  type:"POST",
  url: "/wp-admin/admin-ajax.php",
  data: showHideForm,
  success:function(data){
  $('#formMessage').html(data);
  }
  });

  return false;
  }

  $('.show-hide-subject-button').click(function(){ 
    var subject = $(this).attr('subject');
    $('#hide-subject').attr('value',subject);
  });


 $('#dashboard-hki-subjects-form').submit(ajaxSubmit);

我正在使用Wordpress,所以使用admin-ajax.php来管理AJAX。

2 个答案:

答案 0 :(得分:0)

如果您只使用回车键处理程序...

,该怎么办?

试试这个:

<input type="text" name="txt"/>

$('#txt').keydown(function (e){
    if(e.keyCode == 13){
        console.log('you pressed enter!'); //prints to the browser console...
        ajaxSubmit(); //the function you described in your question...
    }
})

答案 1 :(得分:0)

您必须将ajaxSubmit()绑定到您点击的任何内容,否则您的页面上根本就没有任何内容可以触发它。例如,如果您希望在单击.show-hide-subject-button元素时提交表单,则必须明确调用ajaxSubmit()

$('.show-hide-subject-button').click(function(){ 
    var subject = $(this).attr('subject');
    $('#hide-subject').attr('value',subject);
    ajaxSubmit();
});