我有一个按钮,我用来提交表单(测验)。我还有另一个按钮来执行此操作,但它是动态构建的。请注意以下代码的工作流程。
最终,我希望PHP知道按下哪个按钮来提交表单。因此,我在下面的name="save_progress"
代码中添加了<button>
。但是,包括它会自动提交表单并绕过我的javascript中的setTimeout()
。删除它会使setTimeout()
功能正常,但我无法通过save_progress
获取$_POST
数据。
按钮...
<button class="btn btn-primary btn-block btn-lg" name="save_progress" onclick="save_progress(); return false;">Save Progress</button>
...的Javascript
//For saving quiz progress
function save_progress(){
$('#save_progress_submit_container').modal('show');
setTimeout(function() {
submit_quiz();
}, 1000);
}
//Submitting a quiz
function submit_quiz(){
$("#answers").submit();
}
任何适合此工作流程的想法?我已经对此进行了审核(How can I tell which button was clicked in a PHP form submit?),但不幸的是,它并不适用于此。
答案 0 :(得分:0)
总体上提出了更好的解决方案。我在表单中创建了<input type="hidden" id="submit_type" name="submit_type" value="">
,然后根据单击的按钮使用jQuery更新了值。
对于未来的读者,@ Niloct在评论中的链接导致我得到save_progress() is not a function error
,但确实阻止了提交。