[英]Javascript - Use document.getelementbyid().value with a variable
我正在嘗試使用document.getElementById(my_field).value捕獲HTML表單上的文本字段的值,其中變量my_field動態傳遞給我的函數,但遇到了麻煩。
在這種情況下如何使用變量?
該函數似乎並未解析變量my_field的內容,而是將其視為字符串,無論我使用引號,方括號還是花括號。
function myFunction() {
var my_field = arguments[0];
var current_value = document.getElementById(my_field).value;
alert ("Current Value: " + current_value);
}
我這樣做是因為在表單上有多個記錄,並且每一行對於必填字段都有自己的唯一ID。
運行以上內容無濟於事。 該警報永遠不會彈出,我認為這是因為current_value從未設置。
為了進一步說明,我試圖簡化此問題,因為還有很多其他不必要的復雜性只會減損主要問題。我的HTML表單上的文本字段在onChange上調用了我的函數
onchange="enforce_multiples('quantity[<?php echo $line_id; ?>]',<?php echo $product['minimum'];?>)"
我已經通過將參數[0]和[1]的值輸出到警報來檢查它們是否被正確捕獲。 一切正常,直到我嘗試設置quantity_entered值。
<script>
function enforce_multiples() {
var line_id = arguments[0];
var quantity_increments = arguments[1];
var quantity_entered = document.getElementById([line_id]).value;
alert("QE" + quantity_entered);
//var quantity_mod = quantity_entered % quantity_increments;
//var revised_quantity = quantity_entered - quantity_mod;
//alert("RQ: " + revised_quantity);
//document.getElementById([line_id]).value = revised_quantity;
}
</script>
檢查了控制台,我收到錯誤:Uncaught TypeError:無法讀取geElementById行上null的屬性'value'
您應該編寫document.getElementById(my_field)
而不是document.getelementbyid(my_field)
。
好的,所以如果有人對此感興趣的話,我將首先進行深入探討。
為了在document.getElementById()中使用變量,您只需添加不帶引號的變量名稱即可。
var my_variable = "field1";
document.getElementById(my_variable);
這不適用於我的表單,是因為文本字段僅具有name參數,而沒有id參數。
所以我需要改變:
<input type="text" name="field_name" value="1234" />
至
<input type="text" name="field_name" id="field_name" value="1234" />
然后排序。 否則,我只會在控制台中收到通用NULL錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.