[英]How to call on text from a textbox to set a variable in javascript
我有點困境。 我試圖在循環上運行變量,以便它可以更改循環。 這是我目前擁有的代碼。
<FORM NAME="myform" ACTION="" METHOD="GET">
<INPUT TYPE="text" NAME="inputbox" id="Variable"><P>
</FORM>
<script type="text/javascript">
document.getElementById("Variable").value = i;
var i=5;
for (i=0;i<=5;i++)
{
document.write(" " + i);
document.write("<br />");
}
</script>
我試圖從表單中調用文本框中的文本,以定義var i。 我還要指出,我不是HTML的高手,如果您發現我做錯了所有事情,請隨時告訴我它做不到。
我認為您的意思是這樣的:
var count = parseInt(document.getElementById("Variable").value, 10);
var i;
for (i = 0; i < count; ++i) {
// ...do something...
}
那是做什么的:
document.getElementById("Variable')
。 value
屬性的值,該屬性是一個字符串。 parseInt
使用十進制(而不是八進制或十六進制)將字符串轉換為數字。 請注意,您不能在頁面的主解析(初始加載)之后使用document.write
,並且您可能不想在頁面的主解析完成之前使用表單字段中的值,因此您可能不會做document.write
在這里。 您可以設置元素的innerHTML
,類似這樣。
關於我的“ ...主解析之后您不能使用document.write
...”:從技術上講,您可以 ,但是您將完全替換頁面,而不僅僅是添加頁面。
回復我的“......你可能不希望在主解析之前,從表單域使用的值...完成...”:你可以 ,不過,只要表單字段是上面的腳本在頁面標記中。 我沒有字面上的意思是,你可能不希望 ,想必你希望用戶先輸入一些值。
更新 :這是一個更完整的示例,其中包含一個實時副本,可用於:
var element, value, count, i;
element = document.getElementById("Variable");
if (!element) {
display("Element 'Variable' not found.");
}
else {
value = element.value;
count = parseInt(value, 10);
if (isNaN(count)) {
display("'" + value + "' is not numeric");
}
else {
for (i = 0; i < count; ++i) {
display("Loop " + i);
}
}
}
function display(msg) {
var p = document.createElement('p');
p.innerHTML = msg;
document.body.appendChild(p);
}
實時復制 , display
功能顯然是您實際要執行的操作的一個占位符。
我不明白您的確切問題。 但是我想這是您的解決方案:
<FORM NAME="myform" ACTION="" METHOD="GET">
<INPUT TYPE="text" NAME="inputbox" id="Variable">
<input type="button" value="run" onclick="renderIt()" />
<P>
</FORM>
<script type="text/javascript">
function renderIt()
{
var max = parseInt(document.getElementById("Variable").value);
for (i=0;i<=max;i++)
{
document.write(" " + i);
document.write("<br />");
}
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.