Php jquery post函数使用文本输入,但不使用隐藏输入
我制作了一个有2个输入的表单,一个是文本,另一个是隐藏的,用于存储变量的值。然后我用post方法编写一个jquery脚本,将值传递给另一个php文件,该文件将把值插入数据库,但只插入文本输入的值,而隐藏输入的值不起作用。 以下是表单和jquery脚本:Php jquery post函数使用文本输入,但不使用隐藏输入,php,jquery,sql,Php,Jquery,Sql,我制作了一个有2个输入的表单,一个是文本,另一个是隐藏的,用于存储变量的值。然后我用post方法编写一个jquery脚本,将值传递给另一个php文件,该文件将把值插入数据库,但只插入文本输入的值,而隐藏输入的值不起作用。 以下是表单和jquery脚本: <?php include_once('header.php'); $uid = $_GET['uid']; echo $uid; [enter image description here][1]?> <form>
<?php
include_once('header.php');
$uid = $_GET['uid'];
echo $uid;
[enter image description here][1]?>
<form>
<input name="usermsg" type="text" id="usermsg" size="63" />
<input type="hidden" name="uid" value="<?php echo $uid; ?>">
<input name="submitmsg" type="submit" id="submitmsg" value="Send" />
</form>
$(document).ready(function () {
$("#submitmsg").click(function () {
var clientmsg = $("#usermsg").val();
var clientid = $("#uid").val();
$.post("includes/postchat.php", {text: clientmsg,uid: clientid});
$("#usermsg").attr("value", "");
return false;
});
提交后数据库中的我的表:更改此
<input type="hidden" name="uid" value="<?php echo $uid; ?>">
将id字段作为uid放入隐藏元素中
<input type="hidden" id="uid" name="uid" value="<?php echo $uid; ?>">
如前所述,没有id为uid的元素。
您应该将元素标记更改为
<input type="hidden" id="uid" name="uid" value="<?php echo $uid; ?>">
您可以这样做:
<form>
<input name="usermsg" type="text" size="63" />
<input type="hidden" name="uid" value="<?php echo $uid; ?>">
<input name="submitmsg" type="submit" value="Send" />
</form>
<script>
$(function () {
$("form").submit(function (e) {
e.preventDefault();
$.post("includes/postchat.php", $(this).serialize());
$("#usermsg").attr("value", "");
return false;
});
});
</script>
没有ID为“uid”的元素,如var clientid=$(“#uid”).val()所引用代码>
<input type="hidden" id="uid" name="uid" value="<?php echo $uid; ?>">
var clientid = $("input[name='uid']").val();
<form>
<input name="usermsg" type="text" size="63" />
<input type="hidden" name="uid" value="<?php echo $uid; ?>">
<input name="submitmsg" type="submit" value="Send" />
</form>
<script>
$(function () {
$("form").submit(function (e) {
e.preventDefault();
$.post("includes/postchat.php", $(this).serialize());
$("#usermsg").attr("value", "");
return false;
});
});
</script>