当我提交表单时,只有弹出框出现,没有任何查询结果。我有两个submit按钮,可以触发对php脚本的查询。查询结果应显示在弹出框中。我想,我的jquery代码应该有问题。这是我的代码:

<div class="md-modal md-effect" id="modal">
<div class="md-content" id="content">
<h3>Query Results</h3>
<div id="result"><?php include 'query/_query.php'; ?></div>
<button class="md-close">Close</button>
                </div>
            </div>
                <div class="column">
                <div align="center">
<form id="query" action="" >
<button class="md-trigger md-setperspective" name="queryM" data-modal="modal" id="queryM">Query Person</button>
<button class="md-trigger md-setperspective" name ="queryG" data-modal="modal" id="queryG">Query Order</button>
</form><br>
</div>
<script>
// formular query
$( "#query" ).submit(function( event ) {

  // prevent pagerefresh
  event.preventDefault();

  // querym & queryg
  var $form = $( this ),
    term = $form.find( "button[name='queryM']" ).val(),
    term = $form.find( "button[name='queryG']" ).val(),
    url = $form.attr( "action" );

  // post data
  var posting = $.post( url, { queryM: term, queryG: term  } );

  // results in a div
  posting.done(function( data ) {
    var content = $( data ).find( "#content" );
    $( "#result" ).empty().append( content );
  });
});
</script>
            </div>
        </div>

<script src="js/loader.js"></script>
<script src="js/modal.js"></script>

最佳答案

首先,在定义和用法中将term变量分别更改为termMtermG

termM = $form.find( "button[name='queryM']" ).val(),
termG = $form.find( "button[name='queryG']" ).val(),
.....
var posting = $.post( url, { queryM: termM, queryG: termG  } );

不能将两个不同的值赋给单个变量并期望检索它们。第一个值将被第二个值覆盖。
done回拨中,您可能需要执行console.log( data )以确认您得到了所需的响应。

关于php - 带有2个按钮的Jquery.post提交表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31095181/

10-09 10:11