web-dev-qa-db-ja.com

新しいアクションのクリックイベントを含むjQuery送信フォーム

私はこのような形をしています

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

ダウンロードボタンでもクリックが必要です。例えば。ダウンロードをクリックすると、text/text_new.xls の代わりに text/text_new。どうすればできますか。

8
overflow

ボタンにIDを付けてこれを試してください

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

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();
});
0
Veritas_UA

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