繁体   English   中英

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

[英]What is wrong with my javascript/jquery code here?


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 未定义,我尝试了所有方法,但它不起作用。 我究竟做错了什么?

$('#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM