2010-11-09 32 views
0

是我的HTML表單,我不得到任何錯誤,如果我沒有<form標籤,所以我添加一個表單標籤是這樣的:錯誤:當我嘗試添加<form標籤下面

<form class="cmxform" id="commentForm" method="post" action=""> 

得到這個錯誤:

Microsoft JScript runtime error: 'first_name' is undefined 

當我嘗試讀取文本框的值:

First Name: 
<input id="first_name" class=" text hasCorners required" maxlength="200" 
name="first_name" /> 

function PostData() { 
     var _firstName = first_name.value; 
     ...... 
     ...... 

$(document).ready(function() { 

      $('#btnRegister').click(function() { 
       PostData(); 
      }); 

回答

2

嘗試:

var _firstName = $('#first_name').val(); 
+0

即使我使用jquery我必須使用document.getElementById('first_name')? – 2010-11-09 16:03:31

+0

@Abu:沒有注意到jquery標籤之前,已經更新。 – RedFilter 2010-11-09 16:04:24

+2

@RedFilter:使用jQuery它也需要'$('#first_name')。val()'。 – RoToRa 2010-11-09 16:09:01

0

好像你需要先指定表單元素的ID:

commentForm.first_name.value; 

不知道爲什麼,雖然。


編輯:爲了澄清,這解決了您使用該技術的IE問題。正如@bobince在下面的評論中指出的那樣,除非您針對特定的瀏覽器,否則作爲全局屬性訪問ID並不安全。

根據您的問題中的代碼和您在另一個答案下的評論,看起來您已經知道如何使用jQuery和getElementById通過ID進行選擇。

+0

這仍然依靠IE/Opera使ID/named元素可用作全局變量,這是一個壞主意。 – bobince 2010-11-09 16:22:01

+0

@bobince - 同意。只是基於所使用的技術給出一個IE問題的解決方案,因爲OP已經知道如何使用jQuery和'document.getElementById'來選擇ID。 – user113716 2010-11-09 16:25:22