[英]Getting the values of textboxes in Javascript
我有這個html代碼:
<table border="" cellpadding="3" cellspacing="0" id="mytable">
<tbody><tr><td>Song:</td> <td><input type="text" name="song" maxlength="64" size="48" /> </td></tr>
<tr><td>Artist:</td> <td><input type="text" name="artist" maxlength="16" size="48" /> </td></tr>
如何獲得“歌曲”和“藝術家”的價值觀? 我努力了:
var elTableCells = mytable.getElementsByTagName("td");
alert(elTableCells[2].value);
alert(elTableCells[4].value);
但即使文本框內有文本,我仍會得到“未定義”
首先, td
元素沒有value
屬性,因此在它們上調用.value
不會.value
。 其次,該值實際上在input
元素上,因此您需要執行mytable.getElementsByTagName('input')
。 更好的辦法是為您的輸入字段提供ID,然后使用getElementById
。 這意味着您可以在不破壞JS的情況下更改HTML。
下載jQuery
jQuery("input[name='song']").val()
嘗試解決以下參數。 上面的普通javascript可能會導致這種情況,但是為了簡單起見和跨瀏覽器標准化,我建議使用jQuery。 它是一個被廣泛使用且通常被高度推薦的庫。
var song = document.getElementsByName("song").value;
var artist = document.getElementsByName("artist").value;
此處相關的tagName是“輸入”,而不是td。 這將為您提供所需的東西。
在StackOverflow上這幾乎是陳詞濫調,但是我建議您看一下JQuery。 JQuery允許您將HTML視為數據庫,並對其進行查詢以獲取此類信息。 如果您的標記是這樣的:
<input type="text" id="song" maxlength="64" size="48" />
您可以這樣獲得值:
$("#id").value();
如果要獲取其上的maxlength屬性值,可以執行以下操作:
$("#id").attr("maxlength");
比挖掘元素數組要有趣得多。
alert(document.getElementsByName("song")[0].value);
alert(document.getElementsByName("artist")[0].value);
我發現這是有效的,下面是從asp.net文本框中獲取日期,然后獲取今天的日期。 然后,我通過一個函數發送兩個日期,以獲取進行計算所需的月份數(請注意,代碼使用Infragistics庫(如果要復制和粘貼,請用標准JavaScript調用替換這些調用):
function calculateMonthlyRepayment()
var tStartDate = $find('dp_Start_Date');
var startDate = tStartDate.get_value();
var today = new Date();
var numMonths = monthDiff(startDate, today);
var rate = igedit_getById('WebNumericEdit_InterestRate').getValue() * 0.01;
var intRate = (rate / 100) / 12;
var principal = igedit_getById('WebCurrencyEdit_Proposed_Owing').getValue();
var repayment = (principal * (Math.pow((1 + intRate), numMonths)) * intRate / (Math.pow((1 + intRate), numMonths) - 1));
igedit_getById('txt_Monthly_Repayment').setValue(repayment);
}
function monthDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months <= 0 ? 0 : months;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.