我的javascript文件中有一个名为“seat”的数组。当用户点击影院布局中的座位时,它用于存储座位号。在我的功能中,我使用了窗口警报来显示用户选择的座位,当他点击OK按钮时,我想将这些预订的座位(我的数组中的值)发送到名为“确认”的php文件。
这是javascript函数。
var init = function (reservedSeat) {
var seat = [], seatNo, className;
for (i = 0; i < settings.rows; i++) {
for (j = 0; j < settings.cols; j++) {
seatNo = (i + j * settings.rows + 1);
className = settings.seatCss + ' ' + settings.rowCssPrefix + i.toString() + ' ' + settings.colCssPrefix + j.toString();
if ($.isArray(reservedSeat) && $.inArray(seatNo, reservedSeat) != -1) {
className += ' ' + settings.selectedSeatCss;
}
seat.push('<li class="' + className + '"' +
'style="top:' + (i * settings.seatHeight).toString() + 'px;left:' + (j * settings.seatWidth).toString() + 'px">' +
'<a title="' + seatNo + '">' + seatNo + '</a>' +
'</li>');
}
}
$('#place').html(seat.join(''));
};
$('.' + settings.seatCss).click(function () {
if ($(this).hasClass(settings.selectedSeatCss)){
alert('This seat is already reserved!');
}
else{
$(this).toggleClass(settings.selectingSeatCss);
}
});
$('#btnsubmit').click(function() {
var seat = [], item;
$.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
item = $(this).attr('title');
seat.push(item);
});
window.alert(seat);
$_POST('confirm.php', {seat: seat})
})
<form method="POST" action="confirm.php">
<div align="center"><input type="Submit" id="btnsubmit" value="Submit" /></div>
</form>
这是我的PHP代码。
$seat = "";
if(isset($_POST['seat']))
{
$seat = $_POST["seat"];
print_r($seat);
}
当执行此操作时,我得到窗口警报,但存储在数组中的值不会传递给php文件。这段代码有问题吗?请帮助!我被困在这里!!!
答案 0 :(得分:2)
$ _ POST不是内置方法,jQuery也没有提供这样的方法 - 你不能像这样将值“设置”到$ _POST数组中。
要发布using jQuery,您可以执行以下操作,包括从服务器返回的数据处理程序(如果您有):
$.post("confirm.php", { seat: seat})
.done(function(data){
alert('Received data from server: ' + data);
});
答案 1 :(得分:0)
您需要将数据发送到PHP脚本,这在JS代码中不起作用:
$ _ POST(&#39; confirm.php&#39;,{seat:seat})
使用类似jQuery post method或vanilla JS XMLHttpRequest
的内容