2009-06-23 113 views
1

我有一个HTML页面和外部JavaScript文件。 如何从JavaScript中的HTML页面访问input标记的值?我的HTML如下:从外部Javascript中的html输入框中获取值

<form name="formxml"> 
<input type="text" name="xmlname"/> 
<input type="submit" value="Click me please" onclick="loadxml()"/> 
</form> 

在JavaScript文件,我尝试:

var name = document.formxml.xmlname.value 

但是这给的 “document.formxml是不确定的”

我应该怎么做了错误?

回答

3

貌似外部JS找不到形成又因为页面呈现之前它解析不知道这件事,但把它在一个函数和调用页面上的功能(当它完成加载)不工作:

function foo() { 
    var name = document.formxml.xmlname.value; 
    alert(name); 
} 

<form action="" method="post" name="formxml"> 
    <input type="text" name="xmlname" value="123" id="xmlname"> 
    <input type="button" onclick="foo();"> 
</form> 
2

你添加一个id属性输入标签

document.getElementById('id').value 
+0

一个额外的ID是没有必要的。 – Gumbo 2009-06-23 15:46:09

2

也许文件后,您可以使用以下。 形式 .formxml.xmlname.value

1

您还可以使用:

var name = document.forms[0].xmlname.value; //where [0] means the first form on the page 
1
var name = document.formxml.value; //Will not work in all browsers 
var name = document.forms[0].xmlname.value; //safest if the form is the first on the page 
var name = document.getElementById('inputId').value; //works in basically everything assuming the browser has DHTML (which is like everything). 

最后一个要求你输入ELEM有一个id = “inputId” 添加到它。

而且你的代码将工作,假设存在形式当外部JS被加载(这就是为什么形式[0]将在这里工作和formxml不会。

+0

我尝试了所有这三个。他们都没有工作。这些代码是否应该用于外部JavaScript? – 2009-06-23 15:56:09

+0

由外部JavaScript你是指从像的文件中导入它?无论你这样做,还是只是将代码嵌入到你的html中,它都是一样的东西 – user105033 2009-06-23 16:03:06

1

试试这个

<script> 
    function yourfunction() 
    { 
     var x = document.getElementsByName("fieldname").value; 
    } 
</script>