[英]What is wrong with my javascript/jquery code here?
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 未定义,我尝试了所有方法,但它不起作用。 我究竟做错了什么?
$('#txt') 将搜索 id=txt 的元素,而您的 HTML 代码中没有任何 id 为“txt”的元素。
要获取字段的值,您应该使用 .val() 方法。
适合您的代码是:
$('input[name="txt"]').val();
或者为您的字段定义一个 id,您的代码应该是这样的:
$('#txt').val();
在您的 PHP 代码中,您正在寻找一个名为“txt”的变量,而在您的 Javascript 代码中,您将“文本”定义为您的变量,所以...您应该阅读$_GET['text'] ;
[] 的伊戈尔。
你正在传递{text:ik}
,所以在你的action.php
你应该从$_GET['text']
而不是$_GET['txt']
得到你想要的值
你的#txt
元素在哪里?
尝试
<form method="GET">
<input type="text" id="txt" name="txt"/>
<input type="button" onclick="get()"/>
</form>
好的,所以存在三个问题。
首先,您可能希望id=txt
在 HTML 中。您当前有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 看起来不错。
使用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
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.