1

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?>

当我查看萤火虫时,我收到一条通知说 index txt 未定义,我尝试了所有方法,但它不起作用。我究竟做错了什么?

4

5 回答 5

2

$('#txt') 将搜索 id=txt 的元素,并且您的 HTML 代码中没有任何 id 为“txt”的元素。

要获取字段的值,您应该使用 .val() 方法。

应该为您工作的代码是:

$('input[name="txt"]').val();

或者为您的字段定义一个 id,您的代码应该是这样的:

$('#txt').val();

在您的 PHP 代码中,您正在寻找一个名为“txt”的变量,而在您的 Javascript 代码中,您将“text”定义为您的变量,所以......您应该阅读$_GET['text'] ;

[]的伊戈尔。

于 2012-04-08T03:29:15.640 回答
1

你正在通过{text:ik},所以在你的action.php你应该得到你想要的价值,$_GET['text']而不是$_GET['txt']

于 2012-04-08T03:21:42.713 回答
1

你的#txt元素在哪里?

尝试

<form method="GET">
<input type="text" id="txt" name="txt"/>
<input type="button" onclick="get()"/>
</form>
于 2012-04-08T03:21:56.163 回答
1

好的,所以出现了三个问题。

首先,您可能想要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 看起来不错。

于 2012-04-08T03:22:56.397 回答
0

使用val()方法代替 off 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
  });
});
于 2012-04-08T03:32:10.057 回答