2017-07-03 73 views
0

我有一個JavaScript問題,有時出現,有時不(行爲不一致)...我可以看到在Chrome控制檯上,當問題發生時,代碼:jQuery val()返回空,雖然element.value返回值

alert(document.getElementById('F_GCEO_MEETING_DATE').value); 

回報,同時代碼值:

var meetingDate22 = $("input[name='F_GCEO_MEETING_DATE']").val(); 
alert(meetingDate22); 

,我使用的代碼返回空...這個空字符串導致了問題......任何一個可以幫助有什麼原因呢?

+3

因爲'name' ='id'後使用引號!? – George

+0

不,它有相同的名稱和Id –

+0

我有時工作 –

回答

-3

嘗試使用ID而不是名稱的,是這樣的:你沒有分配#F_GCEO_MEETING_DATE ID不止一個元素

var meetingDate22 = $("#F_GCEO_MEETING_DATE").val(); 
alert(meetingDate22); 
+0

它的工作,但我不知道爲什麼....名稱和身份證實際上是相同的! –

+0

它有時會起作用 –

+0

@osamayaccoub有沒有可能你有兩個同名的元素? – freginold

0

仔細檢查。

確保jQuery的完成初始化,而且#F_GCEO_MEETING_DATE元素被添加到DOM:

$(function(){ 
    var meetingDate22 = $("input[name='F_GCEO_MEETING_DATE']").val(); 
    alert(meetingDate22); 
}); 
0

如果你在你的代碼的上下文中運行。

alert(document.getElementById('F_GCEO_MEETING_DATE').value); 

即使用id不是name。如果你的屬性名稱,然後它沒有工作。

document.getElementsByName('F_GCEO_MEETING_DATE')[0].value) //is work for your name. 

因此,糾正你的代碼$("#F_GCEO_MEETING_DATE")而不是$("input[name='F_GCEO_MEETING_DATE']")

此外,如果你設置idF_GCEO_MEETING_DATE純JavaScript會趕上的錯誤,並得到nameF_GCEO_MEETING_DATE

+0

問題的海報提到元素的id與其名稱相同(請參閱原始問題的評論)。 – James

0

試試這個:

var meetingDate22 = $("input[name=F_GCEO_MEETING_DATE]").val(); 
alert(meetingDate22); 

我想你不應該名稱