2012-10-10 29 views
1

我有我需要獲取隨機數的代碼,當我點擊提交按鈕時。隨機數應顯示在另一個文本框的同一頁面中。在同一個HTML頁面的文本框字段中顯示隨機數

這是我的代碼:

<html> 
<head> 
<script type="text/javascript"> 
function randomnumber(num1, num2) 
{ 
    num1 = parseInt(num1); 
    num2 = parseInt(num2); 
    if(num1 >= num2) 
    { 
     alert("Number 2 should be greater than Number 1"); 
    } 
    else 
    { 
     var generator = Math.random()*(num2-num1); 
     generator = Math.round(num1+generator); 

     document.test.result.value = generator; 
     document.getElementById("p1").innerHTML=generator; 
    } 
} 
</script> 
</head> 
<body> 
    <form name="test" onsubmit = "return randomnumber(num1,num2)" > 
     <table> 
      <tr> 
       <td> 
        <input type="text" name="num1" size ="35" maxlength= "25"> 
       </td> 
       <td> 
        <input type="text" name="num2" size ="35" maxlength= "25"> 
       </td> 
       <td> 
        <input type="text" name="p1" value = "" size ="35" maxlength= "25"> 
       </td> 
       <td> 
        <input type="submit" name="submit" value"generate"> 
       </td> 
      </tr> 
     </table> 
    </form> 
</body> 
</html> 

在腳本變量「發電機」產生的隨機數。我需要在這個文本框中獲得價值。

<td> 
    <input type="text" name="p1" value = "" size ="35" maxlength= "25"> 
</td> 

回答

1

你想要的是:

var generator = Math.random()*(num2-num1); 
generator = Math.round(num1+generator); 

// document.test.result.value = generator; // Not sure what this line is for (don't see a test.result element. 
document.getElementById("p1").value=generator; 

.value代替.innerHTML

+1

的文本框的名稱爲「P1」,而不是ID –

1

是在HTML更好地改變你的輸入文本在此模式:

<input type="text" name="p1" id="p1" value = "" size ="35" maxlength= "25"> 

,並使用此JavaScript代碼來改變值:

document.getElementById("p1").value=generator; 

因爲ID是唯一的,你可以選擇更好地你的元素

+1

文本框中的名稱是「P1」,而不是ID –

+0

我收到楠文本字段 –

+0

你必須檢索數據形式NUM1和num2 int在相同的模式下,將id而不是名稱放入您的輸入並在此模式下獲取數據:num1 = document.getElementById(「num1」).value,並且不要放在表單中不是必需的,更好插入一個按鈕並在其中插入事件onClick,試試這種方式更好 –

1

這應該這樣做

document.getElementsByName('p1')[0].value = generator 

問題是「p1」不是文本框的ID,而是名稱。以上代碼僅適用於名稱爲「p1」的一個元素的情況。

只有當您使用「p1」作爲您的文本框的ID時,以下才有效。

document.getElementById('p1').value = generator 

此外,對於文本框,使用.value代替.innerHTML

+0

不工作我試過 –

0

沒有與代碼中的多個問題(以及預期的功能,它看起來像一個家庭作業)。要在輸入字段中輸入文本,最好在元素中使用id屬性,在這種情況下使用id="p1",並將其分配給document.getElementById('p1').value。不要使用表單提交,因爲你沒有提交數據到服務器端表單處理器。相反,請使用<input type="button">和一個onclick事件處理程序。檢查輸入值是否爲數字,至少通過測試parseInt()的結果,然後再進行比較。將作業分配爲document.test.result.value,將其作爲錯誤參考,並中止其餘代碼的執行。並用標記驗證器檢查你的HTML標記。

0

什麼結果

document.test.result.value =發生器;

嘗試字段p1的名稱。

document.test.p1。值=發生器;

相關問題