2013-08-31 22 views
8

Mam formularz jak tenjQuery przesłać formularz z kliknij zdarzenie z nowego działania

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

muszę nawet za kliknięcie przycisku pobierania. Na przykład. Jeśli kliknę przycisk Pobierz, należy przesłać jako text/text_new.xls zamiast text/text_new. Jak mogę to zrobić.

Odpowiedz

26

Give id przycisku i spróbować tego

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

jeśli wejście [type = submit] ma identyfikator lub nazwę z wartością "submit" niż taki kod nie działa !!! Spójrz na 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'); 
}); 

lub

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

Powiedział, że chce przesłać formularz do "text/text_new.xls" zamiast "test/test_new' – commit

+0

@ com zaktualizowany. –

+0

konkretny powód, dla którego używasz. 'trigger ('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(); 
});