Я делаю некоторые вещи с помощью функции jQuery ajax, и у меня возникает проблема, когда я помещаю форму в середину html.
В двух словах: у меня есть фиктивная форма, которая контролируется ajax,когда она отправлена, функция ajax завершает ввод данных ниже.Данные, передаваемые ajax, содержатся в теге формы, который отправляется при нажатии кнопки вне формы.Я сделал это, потому что мне нужно отправить одни и те же данные двумя разными способами.
Код:
HTML
<input type="button" value="Exportar a Excel" id="xlsexport">
<form action="#" method="post" name="formxls" id="formxls">
<div class="row">
<input type="hidden" id="xls" name="xls" value="">
<div class="item"><span class="negro">Nombre:</span></div>
<div class="field"><input class="input" id="nombreProv" type="text" /></div>
<div class="item"><span class="negro">CUIT:</span></div>
<div class="field"><input class="input" id="cuitProv" type="text" /></div>
<div class="field"><input type="image" id="btnEnviar" value="Enviar Prov." src="images/botones/mini_send.png" style="margin-top: -1px; margin-left: 8px;" ></div>
</div>
</form>
... Some inputs below ...
jQuery:
$('document').ready(function(){
$('#formxls').keypress(function(e){ // it prevents the form will send by pressing enter
if(e == 13){
return false;
}
});
$('#xlsexport').click(function(){
$('#xls').val('true');
$('#formxls').submit();
});
$('input#btnEnviar').click(function(){
if($('#xls').val() == 'true') $('#xls').val('');
$('div#selectData').empty().removeAttr('style');
$.ajax({
// ajax request code
});
Проблема:
КогдаЯ отправляю форму через кнопку «xlsexport», все в порядке, но затем, когда я отправляю форму через кнопку ajax («btnEnviar»), она делает то, что должна, а затем отправляет форму, поэтому я теряювсе данные, загружаемые ajax.
Как я могу это решить?Есть другие способы сделать это?Это бессмысленное поведение (по крайней мере, для меня), потому что у меня нет другого представления, кроме как в событии click в xlsexport.
Я надеюсь, что дал понять, и вы можете помочь мне с этим.
Большое спасибо!