那篇文章帮助我将变量从 php 表单传递到 javascript。
现在我想将它们发送到一个 php 文件,该文件应该使用这些值更新数据库。为简单起见,我创建了这个文件,它应该只返回值来检查它是否有效:addCOMmentsToDBtest.php:
<?php
$video_id = $_POST['VideoId'];
$starttime = $_POST['starttime'];
echo "Test! \n StartTime = " .$starttime. " videoId = " .$video_id; ?>
调用 addCOMmentsToDBtest.php 的整个 jquery $.ajax 函数位于下面的文件 (JqueryTest.php) 中。我厌倦了在 url 中传递数据:
url: "addCommentsToDBtest.php?starttime="+ starttime +"endtime="+ endtime +"&text="+text+"&videoid="+videoid,
或像这样传递数据
$.ajax({
url: "addCommentsToDBtest.php",
type: "POST",
data: {
'videoId': '<?php echo $video_id ?>',
'starttime': starttime,
'endtime': endtime,
'text': text,
'cat': cat
}
两者都没有工作。问题还在于,在这个简单的示例中,来自 addCOMmentsToDBtest.php 的字符串
echo "Test! \n StartTime = " .$starttime. " videoId = " .$video_id;
不传递给 div 标签“log”。(我也尝试在数据库中插入值,就像它应该在最后一样 - 没有用)。
要传递我尝试过的字符串:
success: function(data) {
$("#log").html("Sucess"+ data);
}
或者
complete: function(data) {
$("#log").html("Sucess"+ data);
}
或者
request.done(function( msg ) {
$( "#log" ).html("Sucess! Msg =" + msg );
});
Chrome 调试器截图:
问题是:如何将 addCOMmmentsToDBtest.php 中的数据传回,以检查在这个简单示例中是否传输了变量?
我最终试图实现的是:将数据从 JqueryTest.php 传递到 addCOMmentsToDBtest.php 并更新我的数据库。
提前感谢您的帮助。
这里包含整个 javascript 和 php 表单的文件。
jQueryTest.php:
<?php
$video_id = '153fb143';
?>
<!DOCTYPE html>
<html>
<head>
<title>JQUERY</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function addCommentsToDB () {
var videoid = document.getElementById('videoid').value;
var starttime = document.getElementById('starttime').value;
var endtime = document.getElementById('endtime').value;
var text = document.getElementById('text').value;
var cat = document.getElementById('cat').value;
alert ("starttime ="+starttime+"; Endtime = "+endtime+"; text = "+text);
$.ajax({
url: "addCommentsToDBtest.php?starttime="+ starttime +"endtime="+ endtime +"&text="+text+"&videoid="+videoid,
// check ''
// url: "addCommentsToDBtest.php?starttime="+ starttime +"endtime="+ endtime +"&text="+text+"videoId='"+videoId+"'",
// with data use that:
// url: "addCommentsToDBtest.php",
type: "POST",
/* Does not Work
data: {
'starttime': starttime,
'endtime': endtime,
'text': text,
'cat': cat }, */
success: function(data) {
$("#log").html("Sucess"+ data);
}
});
};
</script>
</head>
<body>
<div id="log"> <p>log</p></div>
<div id="msg"></div>
<table>
<tr>
<td><div id="div1">div1</div></td>
<td><div id="div2">div2</div></td>
</tr>
<tr>
<td><div id="div3">div3</div></td>
<td><div id="div4">
<!--ADD Table-->
<form method="post" onsubmit="addCommentsToDB()" action="<?php $_SERVER['PHP_SELF']?>" >
<table width="150px" border="1" cellpadding="0">
<tr>
<td width="25px"><p>start</p></td>
<td width="25px"><p>end</p></td>
<td width="75px"><p>Text</p></td>
<td width="10px"><p>cat</p></td>
<td width="5px"><p>+</p></td>
</tr>
<tr>
<td><input style="width: 75px" type="time" name="starttime" id="starttime"></td>
<td><input style="width: 75px" type="time" name="endtime" id="endtime"></td>
<td><input style="width: 75px" type="text" name="text" id="text"><input type="hidden" id="VideoId" name="VideoId" value="<?php echo $video_id; ?>"></td>
<td>
<select width="15" name="cat" id="cat">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td><input type="hidden" name="videoid" id="videoid" value="<?php echo $video_id ?>"><input name="ADD" type="submit" value="add"> </td>
</tr>
</table>
</form>
</div></td>
</tr>
</table>
</body>
</html>