如何提交这个没有提交按钮的表单?

时间:2012-04-26 15:05:52

标签: jquery

我有以下表格:

<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input name="uploadedfile" type="file" />
</form>

一旦用户点击了上传文件输入并选择了一个文件,他们就可以在页面的其他区域点击此按钮:

<a id="button">My button</a>

如何点击我的按钮,如何触发上传表格?重要提示:不能在表单内,也不能是输入元素。这也必须是一个ajax样式的操作,如果可能的话,不会重新加载页面。

4 个答案:

答案 0 :(得分:1)

您可以为表单提供ID(或使用多种变体之一来选择表单):

<form id="myForm" [...] >

并使用jQuery submit形式:

$('#myForm').submit();

您希望提交功能位于按钮的点击事件中:

$('#button').click(function(){
    $('#myForm').submit();
});

<强>更新

要使用ajax提交表单,您可以执行以下操作:

$('#button').click(function(){
      var form = $('#myForm');
        $.ajax({
          url: form.attr('action').val()  ,
          type: 'POST' ,
          data: form.serialize()
        });
    });

如果您正在上传文件,可能需要查看以下jQuery插件之一:

答案 1 :(得分:0)

只需获得对表单的引用,然后在其上调用.submit

$("#button").click(function() {
    $("form[action='uploader.php']").submit();
});

最好为表单添加id,以便您可以使用更为主流的选择器(例如$("#theForm"))来选择它。

答案 2 :(得分:0)

您可以使用jQuery触发器功能

$("#button").click(function(){
    $("form").trigger('submit');
})​;

点击此处Demo

答案 3 :(得分:0)

您可以执行上述答案,或者您可以提交表单,甚至无需刷新页面,例如HERE