带有表单的页面中的ajax请求问题。 jQuery的

时间:2010-10-25 15:41:48

标签: html ajax forms jquery

我正在使用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
      });


问题是:
当我通过buttom“xlsexport”提交表单时,一切都很好,但是当我通过ajax buttom(“btnEnviar”)提交表单时,它会执行它应该做的事情然后它发送表单,所以我丢失ajax加载的所有数据 我该如何解决?还有其他方法吗?这是一种无意义的行为(至少对我而言),因为我没有其他提交而不是xlsexport点击事件中的提交。

我希望自己清楚明白,你可以帮我解决这个问题。

非常感谢!

2 个答案:

答案 0 :(得分:1)

它可能需要其他输入字段中的name属性(只有隐藏的输入有一个)。

答案 1 :(得分:0)

您可以定义onSubmit函数并检查单击按钮的值,如果是“btnEnviar”则返回false。 Buena suerte。