[英]Can't get input field value using javascript?
我似乎有使用javascript獲取字段值的問題,我認為facebook popup jquery腳本阻止它但我不知道為什么...
如果有人可以幫助我,我會很感激,因為現在我要把我的頭發撕掉。
<input type="text" id="photo_album_name" style="width: 280px; height: 20px; color: #525252;" />
<textarea id="photo_album_desc" style="width: 280px; height: 100px; color: #525252;"></textarea>
function submit_photoalbum()
{
var albumname = document.getElementById('photo_album_name').value;
var albumdesc = document.getElementById('photo_album_desc').value;
alert("Album name: "+ albumname + ", Album Desc: " + albumdesc);
}
您可以在http://goo.gl/op6r4上查看實時示例
您的問題是您有多個具有相同id => 無效HTML的元素
<input type="text" id="photo_album_name" style="width: 280px; height: 20px; color: #525252;">
<input type="text" id="photo_album_name" style="width: 280px; height: 20px; color: #525252;">
<textarea id="photo_album_desc" style="width: 280px; height: 100px; color: #525252;"></textarea>
<textarea id="photo_album_desc" style="width: 280px; height: 100px; color: #525252;"></textarea>
您需要在元素具有值的某個事件上運行您的函數,或者如果您在加載時運行它,則需要為它們添加值。
將輸入更改為:
<input class="photo_album_name" style="width: 280px; height: 20px; color: #525252;" type="text"/>
和
<textarea class="photo_album_desc" style="width: 280px; height: 100px; color: #525252;"/>
和你的選擇器:
var albumname = $('#facebox').find('.photo_album_name').val();
var albumdesc = $('#facebox').find('.photo_album_desc').val();
請注意此重復ID:
<input id="add" style="padding-bottom: 3px; padding-left: 5px; padding-right: 5px; font-size: 13px; margin-right: 15px; padding-top: 3px;" onclick="submit_photoalbum();" type="button" value="Create Photo Album"/>
改成:
<input class="add" style="padding-bottom: 3px; padding-left: 5px; padding-right: 5px; font-size: 13px; margin-right: 15px; padding-top: 3px;" onclick="submit_photoalbum();" type="button" value="Create Photo Album"/>
好的..好像你正在復制你的表格。 您可以在HTML上使用它,當您調用facebox時,它會復制隱藏的HTML。 這復制了ID(正如gdoron所說)。
使用另一個框架或將jQuery插件更改為更穩定的插件(如http://fancybox.net )可能是一個好習慣。 無論如何。 您可以將submit_photoalbum函數更改為:
function submit_photoalbum()
{
var albumname = $("#facebox > input").val();
var albumdesc = $("#facebox > textarea").val();
alert("Album name: "+ albumname + ", Album Desc: " + albumdesc);
}
它有點硬編碼,但它會起作用。
既然你正在使用jQuery我只想嘗試使用jQuery獲取值,所以它應該是:
var albumname = $('#photo_album_name').val();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.