我正在尝试向 PHP 发送一个 JavaScript 变量,但不太确定该怎么做,有几件事提到了 Ajax,但我以前从未使用过它,无法理解它。有谁知道最简单的方法是什么?我试图在我的数据库中填充的列称为“cogs”。
我有以下 JavaScript 代码:
<script>
$(document).ready(function() {
$('#duration-select').change(function() {
var cogs = $('#cogsday').html();
cogs = cogs.replace(/\D/g,'');
var x =$('#duration-select').val();
var y = cogs * x;
$('#request').removeClass('hidden');
$('#duration-value').text('Total cost for this duration = ' + (y) + ' cogs');
if($(this).val() !== '') {
} else {
$('#duration-value').text('');
}
});
$('#request').click(function() {
var cogs = $('#cogsday').html();
cogs = cogs.replace(/\D/g,'');
var x =$('#duration-select').val();
var y = cogs * x;
$('#total').text(y);
});
});
</script>
以及以下 HTML 代码:
<label id="total"></label>
这是我尝试发布数据的地方,除了 $cost 之外的所有其他内容都在发布:
<form name="form" method="post">
<div class="modal-footer">
<?php
if ($row3['availability'] === 'Available') {
if (isset($_POST['request'])) {
$to_id = $row3['customerid'];
$from_id = $_SESSION['customerid'];
$time_sent = date('Y-m-d H:i:s');
$subject = 'Request for ' . $row3['title'];
$title = $row3['title'];
$listingid = $listingid;
$cost = $_POST['total']; //posting 0
$message = $customer_data['first_name'] . ' ' . $customer_data['last_name']
$request = mysql_query("INSERT INTO messages (to_id, from_id, listing_id, time_sent, subject, message, cogs, messagenumber, title, msgrand) VALUES ('$to_id', '$from_id', '$listingid', '$time_sent', '$subject', '$message', '$cost', '1', '$title', '$randomString')") or die(mysql_error());
}
}
?>
<input type="submit" class="btn btn-success" name="request" value="Yes" />
<input type="submit" class="btn btn-danger" data-dismiss="modal" value="No" />
</div>
</form>
然后我尝试将标签 id=total 的值发布到我的数据库或 JavaScript 变量 (y)。问题是 0 总是被发送到数据库,而它应该是 id 总计标签中的值。
最佳答案
为隐藏变量使用名称参数,它将自动传递给 PHP。
<label id="total"></label>
<input type="hidden" name="total" id="nameID"/>
在 $('#total').text(y);
下面的 javascript 中写入 $('#nameID').val(y);
。一切都会正常工作。
您使用了 total
标签,但是 $_POST 只能识别输入类型,所以使用 input type=....
而不是标签、divs 等
关于javascript - 使用 PHP 将 JavaScript 变量发布到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559912/