在 HTML 表格中,我单击一个单元格以打开 JQuery 对话框窗口
<td>
<a href="#" class="open" data-id="<?php echo $objResult["id"];?>">
<?php echo $objResult["categoria"];?>
</a>
</td>
在表格之后,我有这个 FORM,它在 JQuery 对话框窗口中触发。
正如您所看到的,该表单指向一个名为 modcat.php
的页面。 categoria
和 hidden-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/