我正在使用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点击事件中的提交。
我希望自己清楚明白,你可以帮我解决这个问题。
非常感谢!
答案 0 :(得分:1)
它可能需要其他输入字段中的name
属性(只有隐藏的输入有一个)。
答案 1 :(得分:0)
您可以定义onSubmit函数并检查单击按钮的值,如果是“btnEnviar”则返回false。 Buena suerte。