Javascript-如何在单击按钮时访问文本字段的值?

Javascript-如何在单击按钮时访问文本字段的值?,javascript,button,onclick,textfield,Javascript,Button,Onclick,Textfield,我只想知道我是如何在点击按钮时得到文本字段的值的。 我明白了: <INPUT TYPE="text" NAME="GetLink_textField" VALUE="Geben Sie den Dateipfad an!" SIZE=50> <INPUT TYPE="button" NAME="GetLink_button" VALUE="Get link" onClick="getLinkToFile(?????)"> 我想向函数传递文本字段GetLink\u t

我只想知道我是如何在点击按钮时得到文本字段的值的。 我明白了:

<INPUT TYPE="text" NAME="GetLink_textField" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button" VALUE="Get link" onClick="getLinkToFile(?????)">

我想向函数传递文本字段GetLink\u textfield的值。我该怎么做?
我尝试了GetLink\u textfield.value,但不起作用。

GetLink\u textfield.value不起作用的原因是没有名为GetLink\u textfield的对象

您需要使用以下代码:

function getLinkToFile() {
  var e = document.getElementsByName('GetLink_textField')[0];
  var val = e.value;
  // Do the rest here
}
但是,如果您给textfield一个ID,并使用document.getElementById(“GetLink\u textfield”),可能会更好


这样,您将获得对象,而不是包含它的数组,因为ID必须是唯一的,但名称不唯一。

向文本字段添加ID属性,然后在javascript函数中使用该ID来获取值。您不需要发送任何争论。例如-

function getLinkToFile(){
       var textVal=document.getElementById('idname').value;
}

如果您以编程方式生成输入,或者希望使用多于1组(输入按钮、输入文本)的元素,请尝试执行以下操作:

<INPUT TYPE="text" NAME="GetLink_textField_0" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button_0" VALUE="Get link" onClick="getLinkToFile(0)">

<INPUT TYPE="text" NAME="GetLink_textField_1" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button_1" VALUE="Get link" onClick="getLinkToFile(1)">

<INPUT TYPE="text" NAME="GetLink_textField_2" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button_2" VALUE="Get link" onClick="getLinkToFile(2)">
执行“for”或其他操作,并将“for”变量(通常称为“i”)附加到输入文本名称、按钮和javascript函数中,结果将生成如下内容:

<INPUT TYPE="text" NAME="GetLink_textField_0" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button_0" VALUE="Get link" onClick="getLinkToFile(0)">

<INPUT TYPE="text" NAME="GetLink_textField_1" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button_1" VALUE="Get link" onClick="getLinkToFile(1)">

<INPUT TYPE="text" NAME="GetLink_textField_2" VALUE="Geben Sie den Dateipfad an!" SIZE=50>
<INPUT TYPE="button" NAME="GetLink_button_2" VALUE="Get link" onClick="getLinkToFile(2)">
希望这有帮助,如果这不是你需要的,你可以尝试上面的例子

另外,建议您在输入时使用Id


问候

尝试使用“this”变量引用刚被单击的对象HackArtister:OP没有尝试访问被单击的对象。OP能够通过此获取所需对象的唯一方法如下:this.previousSibling.value;不太理想。但要注意,元素名与ID不同,不需要是唯一的。如果您的页面多次出现该名称,您需要有一种方法来确定哪个名称适用。这是绝对正确的。名称不必是唯一的,而ID则必须是唯一的。如果您有多个实例,“e”可能不在上面定义的第0个索引上。建议为对象指定一个唯一的ID。
function getLinkToFile(position){
   var inputVal = document.getElementsByName("GetLink_textField_" + position)[position].value;
   //now you got inputVal of the element in the position you want.
}