我的javascript / jquery代码有什么问题吗?

时间:2012-04-08 03:20:10

标签: ajax jquery


HTML


<form method="GET">
<input type="text" name="txt"/>
<input type="button" onclick="get()"/>
</form>

返回


的Javascript


返回

function get(){
var ik=$('#txt').value();
$.get('action.php',{text:ik});
}

PHP


<?php $text=$_GET['txt']; print $text?>
  

当我看到萤火虫时,我收到通知说索引txt是      未定义,我尝试了一切,但它不起作用。我在做什么      错?

5 个答案:

答案 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
  });
});