HTML
<form method="GET">
<input type="text" name="txt"/>
<input type="button" onclick="get()"/>
</form>
返回
返回
function get(){
var ik=$('#txt').value();
$.get('action.php',{text:ik});
}
<?php $text=$_GET['txt']; print $text?>
当我看到萤火虫时,我收到通知说索引txt是 未定义,我尝试了一切,但它不起作用。我在做什么 错?
答案 0 :(得分:2)
$(&#39; #txt&#39;)将搜索id = txt的元素,并且您没有任何带有id&#34; txt&#34;的元素在您的HTML代码上。
要获取字段的值,您应该使用.val()方法。
适合您的代码是:
$('input[name="txt"]').val();
或者为您的字段定义ID,您的代码应如下所示:
$('#txt').val();
在您的PHP代码中,您正在寻找名为&#34; txt&#34;的变量。并在您的Javascript代码中定义&#34; text&#34;作为你的变量所以......你应该阅读 $ _ GET [&#39; text&#39;] ;
[]&#39; S 伊戈尔。
答案 1 :(得分:1)
您正在传递{text:ik}
,因此在您的action.php
中,您应该从$_GET['text']
而不是$_GET['txt']
获得所需的价值
答案 2 :(得分:1)
您的#txt
元素在哪里?
尝试
<form method="GET">
<input type="text" id="txt" name="txt"/>
<input type="button" onclick="get()"/>
</form>
答案 3 :(得分:1)
好的,所以有三个问题正在发生。
首先,您可能希望HTML中有id=txt
。您目前有name=txt
。 #txt
将检索HTML中的ID属性(而不是Name属性)。
在此处,将此用于HTML:
<form method="GET">
<!-- You need to have an ID value, if you are using #txt in jQuery -->
<!-- I assign both ID and Name to the same value -->
<input type="text" id="txt" name="txt"/>
<input type="button" onclick="get()"/>
</form>
其次,你对action.php的调用是传递密钥“text”而不是“txt”,第三,你需要使用val()。
这可能适用于JavaScript:
function get(){
// The #txt is getting an ID value
// You also need to use val() instead of value() ... according to @Igor
var ik=$('#txt').val();
// If PHP is looking for a txt key, you'll want that here as well
// The key could by "mykey" as long as PHP expects "mykey".
$.get('action.php',{txt:ik});
}
因此,您需要纠正这两个错误。
PHP看起来很好。
答案 4 :(得分:0)
使用val()
方法代替value()
;
<强> HTML 强>
<input type="button" id="go"/>
<强>脚本强>
$(function(){
var ik=$(input'[name=txt]').val();
$.get('action.php',{txt : ik},function(data){
//do whatever with the response from get call
});
});