2013-08-31 9 views
8

私は、私もダウンロードボタンのクリックを必要とするこのjQueryのは、新しいアクション

<form name="test" action="test/test_new" /> 
<input type="text" /> 
<input type="submit" value="search"/> 
<input type="button" value="download"/> 

のような形を抱えていて、クリックイベントでフォームを送信します。例えば。ダウンロードをクリックした場合、text/text_newの代わりにtext/text_new.xlsと提出する必要があります。どうすればいいの?

答えて

26

ボタンにIDを付けて、この

$('#downloadButton').click(function(){ 
    $('form[name=test]').setAttrib('action','test/test_new.xls'); 
    $('form[name=test]').submit(); 
}); 
+0

input [type = submit]にidやnameの値が "submit"の場合、そのコードは動作していません! http://stackoverflow.com/a/6299551/987850をご覧ください – 23W

1

HTML

<input type="button" value="download" id="dwnld"/> 

JS

$('#dwnld').click(function(){ 
var form = $(this).closest('form'); 
form.attr('action',form.attr('action')+'.xls').trigger('submit'); 
}); 

又は

HTML

<form name="test" action="test/test_new" id="formID"/> 
<input type="button" value="download" id="dwnld"/> 

JS

$('#dwnld').click(function(){ 
form=$('#formID') 
form.attr('action',form.attr('action')+'.xls').trigger('submit'); 
}); 
+0

彼は、 'test/test_new'の代わりに' text/text_new.xls'にフォームを提出したいと言っています。 – commit

+0

@commitが更新されました。 –

+0

あなたが使用している特定の理由はありません。 'トリガー(' submit ') 'vs' .submit() '? – Zapnologica

1

HTML

<form name="test" id="form-id" action="test/test_new" /> 
<input type="text" /> 
<input type="button" class="submit" value="search" data-action="test/test_new" /> 
<input type="button" class="submit" value="download" data-action="test/test_new.xls" /> 
<input type="button" class="submit" value="another" data-action="test/test_newer" /> 

を試みるJS

$(document).on('click', 'input.submit', function() { 
    var form = $('#form-id'); 
    var action = $(this).data('action'); 
    form.attr('action', action); 
    form.submit(); 
}); 
関連する問題