【问题标题】:Add form confirmation based on php database result根据php数据库结果添加表单确认
【发布时间】:2019-08-28 05:37:39
【问题描述】:

我有一个由数据库填充的表单,目前我添加了一个 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 没有产生是否有原因?

处理添加此类确认框的最佳方法是什么?

任何示例 sn-ps 都会受到赞赏,我提前感谢所有人对此的见解。

【问题讨论】:

  • onsubmit="return confirm(' ');" id="form">
  • 约翰,你是个传奇人物。我不得不将最后一个 \' 推到一个位置并放入文本中以替换 $confirmtext 但它的工作就像一个魅力,谢谢队友。我将更新我的答案并将其标记为已关闭。

标签: javascript php jquery html mysql


【解决方案1】:

在 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 验证也仍然有效。

感谢堆栈交换社区

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 2019-09-13
    • 2017-08-24
    相关资源
    最近更新 更多