2009-06-23 114 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>