我想做标题所说的内容,当数据输入到文本字段时,我希望将其发送到posttothis.php,然后将结果打印在内容div中。我似乎无法使其发挥作用。
testscript.html
<html>
<head>
<script type="text/javascript">
document.write("\<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'>\<\/script>");
</script>
</head>
<body>
<input type="text" name="text" id="text">
<div id="content" name="content">
<script>
$('#text').keyup(function(){
$.ajax({
type: "POST",
url: "posttothis.php",
data: {text: $(this).val()},
success: function(data)
{
$("#content").html(data);
}
});
});
</script>
</body>
</html>
posttothis.php
<?php
$testvar=$_POST['text'];
echo $testvar;
?>
由于
编辑:使用建议的修改更新了我的脚本,但仍然无法显示我在内容div中的文本框中输入的内容。要回答以下问题:我不想提交表单,我只想在每次更改时从中获取价值。控制台显示没有错误。
EDIT2:我更新了工作代码,可能会在将来帮助其他人。
答案 0 :(得分:2)
您可以改为使用On Key up功能。
<input type="text" name="text" id="text">
<div id="content" name="content">
<script>
$('#text').keyup(function(){
$.ajax({
type: "POST",
url: "posttothis.php",
data: {text: $(this).val()},
success: function(data)
{
$("#content").html(data);
}
});
});
</script>
答案 1 :(得分:1)
为什么不试试jQuery post?
实施例
<input type="text" name="text" id="text">
<div id="content" name="content">
<script>
$('#text').keyup(function(){
$.post('posttothis.php', {text:$('#text').val()}, function(data) {
$("#content").html(data);
});
});
</script>
答案 2 :(得分:0)
使用:
$('#text').keyup(function(){
而不是
$('#text').change(function(){
此外,您在数据属性
后缺少逗号(,)data: {text: $('#text').val()},
答案 3 :(得分:0)
在数据之后加上“,”:{text:$('#text')。val()}
<input type="text" name="text" id="text">
<div id="content" name="content">
<script>
$('#text').change(function(){
$.ajax({
type: "POST",
url: "posttothis.php",
data: {text: $('#text').val()},
success: function(data)
{
$("#content").html(data);
}
});
});
</script>