javascript - 如何使用 Jquery 对话框窗口提交表单

标签 javascript php jquery html forms

HTML 表格中,我单击一个单元格以打开 JQuery 对话框窗口

<td>
   <a href="#" class="open" data-id="<?php echo $objResult["id"];?>">
    <?php echo $objResult["categoria"];?>
   </a>
</td>

在表格之后,我有这个 FORM,它在 JQuery 对话框窗口中触发。 正如您所看到的,该表单指向一个名为 modcat.php 的页面。 categoriahidden-id 的值将发送到页面。

<div id="finestra" title="modify" style="display: none;">
 <form action="modcat.php" method="POST" id="modcat">
      <select id="categoria">
       <option value="" disabled selected style='display:none;'> - seleziona -
       <option value="a">a</option>
       <option value="b">b</option>
       <option value="c">c</option>
      </select>
      <input type="hidden" name="val" id="hidden-id">
 </form>
</div>

最后,我有以下脚本来提交表单。

<script>
$(document).ready(function () {
    $("a.open").click(function () {
        var clickedLink = $(this); //get clicked link
        var id = clickedLink.data('id'); //extract id from data attribute
        $('#hidden-id').val(id); //update hidden field value with id
        $('#finestra').dialog("open");
        return false;
    });
    $('#finestra').dialog({
        modal: true,
        autoOpen: false,
        buttons: [{
          text: "modifica",
          click: function(){
          submitform();
          $(this).dialog("close");
          }
         },{
          text: "annulla",
          click: function () {
          $(this).dialog("close");
          }
         }]
    });
function submitform(){
    $( '#modcat' ).submit();
}
});
</script>

表单在对话框窗口中正确显示,但是当我单击提交按钮(名为“modifica”的按钮)时,没有任何反应。 modcat.php 页面未从表单接收任何数据。 我在这里缺少什么?

modcat.php 文件大致如下:

<?php
require_once('config.php');
session_start();
session_regenerate_id(TRUE);

$categoria = $_POST["categoria"];
$valore = $_POST["val"];

$update = mysql_query("UPDATE table
                       SET categoria = '$categoria'
                       WHERE id = '$valore'");

include 'close.php';
header('location:tabella.php');
?>

最佳答案

您的代码似乎工作正常。我想你得到了$objResult["id"]空,因为您无法设置 data-id' and you also did not set name of select attribute '<select id="categoria"> 。所以请检查data-id值并设置选择属性的名称。

关于javascript - 如何使用 Jquery 对话框窗口提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46252798/

相关文章:

javascript - 将导航栏向下滚动到顶部后固定到顶部

javascript - HTML 文件释放器在 IE7+ 中不起作用

javascript - jQuery同位素无效渲染

javascript - Angularjs 从列表中单击并显示

javascript - 将下拉列表中单击的项目传递到第二个文件

php - MySql 选择引号

javascript - jquery jScrollPane 视口(viewport)太小

javascript - 自定义 Cursor,不能点击 DOM 元素

php - 带有巨大表的嵌套 mysql 查询

jquery - 使用关闭按钮时,弹出窗口仅在每秒单击一次时显示