当我提交表单时,只有弹出框出现,没有任何查询结果。我有两个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
变量分别更改为termM
和termG
:
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/