проблемы с запросом ajax на странице с формой. JQuery - PullRequest
0 голосов
/ 25 октября 2010

Я делаю некоторые вещи с помощью функции 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.

Я надеюсь, что дал понять, и вы можете помочь мне с этим.

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Вероятно, ему нужен атрибут name в других полях ввода (только у скрытого ввода).

0 голосов
/ 01 ноября 2010

Вы можете определить функцию onSubmit, проверить значение нажатой кнопки и вернуть false, если это "btnEnviar". Buena suerte.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...