我有一个由数据库填充的表单,目前我添加了一个 jQuery 脚本,以确保至少选择了一个复选框并按需要工作。我现在需要向提交功能添加第二个元素,即确认弹出窗口,但是,仅当用户在特定列的表格行中具有 X 值时,我才需要显示弹出窗口。
最初我认为它会像 onsubmit php if 语句一样简单,所以我将其添加到我的表单标记中。
<form action="" method="post" <?php if($value1 == $value2){echo 'onsubmit="return confirm($confirmtext)"';}?> id="form">
地点:
$value1 是数据库中的值,我可以验证是否将 X 填充为值
value2 是要匹配的值,也是 X
$confirmtext是我想要生成的文本
所有三个 php 变量都已成功填充,并且 onsubmit 元素实际上显示为
<form action="" method="post" onsubmit="return confirm($oowsubmit)" id="selection-form">
但是,在提交表单之前我没有看到确认框出现。
我还有一个 jQuery 验证,如下所示
<script>
//dom ready handler
jQuery(function ($) {
//form submit handler
$('#form').submit(function (e) {
//check atleat 1 checkbox is checked
if (!$('.pick').is(':checked')) {
//prevent the default form submit if it is not checked
e.preventDefault();
alert('Before proceeding, you must select at least one box');
}
})
})
</script>
jQuery 验证是否妨碍?
如果没有,我的 onsubmit 没有生成是否有原因?
处理添加此类确认框的最佳方法是什么?
任何示例片段始终受到赞赏,我提前感谢所有人对此的见解。
最佳答案
根据 John V 的建议,我能够通过我实现的初始 onsubmit 解决方案使表单按照我的预期工作。正是像这样的小事解释了为什么有时拥有第二双眼睛如此重要。
我最初有:
<form action="" method="post" onsubmit="return confirm($oowsubmit)" id="selection-form">
注意
confirm($oowsubmit)
$oowsubmit 变量未按应有的方式包含在单引号内,因此未正确填充。
更新后的代码如下:
<form action="" method="post" <?php if($value1 == $value2){echo 'onsubmit="return confirm(\'my confirmation message.\')"';}?> id="form">
仅当基于 value1/value2 比较出现 onsubmit 时,表单才会最初处理确认。 jQuery 验证仍然有效。
感谢堆栈交换社区
关于javascript - 添加基于php数据库结果的表单确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57685668/