2012-04-28 36 views
0

我有簡單的程序難度......獲取值從形式,並用它在JavaScript功能

我有一個簡單的HTML表單從中我得到3個數值爲整數,然後將它們提交給JavaScript函數使用這條線 這是我使用

<script language="javascript"> 
function Secured_Rescaled_Marks(form) 
{ 
    var address = form.total_marks.value; 
    window.alert(address); 
    //var secured = (rescale_marks/total_marks)*secured_marks; 
    //alert('secured'); 
} 
</script> 

功能,這是形式

<form> 
<table cellpadding="3"> 
<tbody> 
<tr> 
<td bgcolor="#6699CC"> 
<b>Total Marks:</b> 
<input name="text" name="total_marks" /> 
</td> 
</tr> 
</tbody> 
</table> 
</br> 
<table cellpadding="3"> 
<tbody> 
<tr> 
<td bgcolor="#6699CC"> 
<b>Secured Marks:</b> 
<input name="text" name="secured_marks"> 
</td> 
</tr> 
</tbody> 
</table> 
</br> 
<table cellpadding="3"> 
<tbody> 
<tr> 
<td bgcolor="#6699CC"> 
<b> Rescale Marks:</b> 
<input name="textarea" name="rescale_marks"> 
</td> 
</tr> 
</tbody> 
</table> 
</br> 
    <input type="button" onsubmit="return Secured_Rescaled_Marks(this);" name="order" value="Secured_Rescaled_Marks??"/> 

<input type="reset" value="Reset"> 
</form> 

我需要在這樣的計算式表格提交併提醒結果....

var secured = (rescale_marks/total_marks)*secured_marks; 

任何幫助將不勝感激...

+2

你不向我們展示你的功能或所有相關的HTML,所以這是一個有點很難找到您的問題。告訴我們你正在嘗試的是什麼! – Marc 2012-04-28 15:03:26

+1

並告訴我們,你正在嘗試:努力瞭解問題的指導方針:http://stackoverflow.com/questions/how-to-ask – ddaa 2012-04-28 15:05:21

回答

1

首先,你應該給你的形式name,那麼你可以使用這些常用方法之一:

document.FormName.elements["element_name"].value;//select by name 
//or 
document.FormName.elements[index].value;//select by index position 

注:FormName是該示例中的表單名稱

sourcedemo

然後在你的函數中使用這個值,你需要從字符串轉換它編號是這樣的:

var val = document.FormName.elements["element_name"].value; 
val = parseFloat(val); 
0

input標籤有兩個名字,即:

<input name="text" name="total_marks" /> 

應該是:

<input type="text" name="total_marks" id="total_marks"/> 

我添加了一個ID爲你,是因爲有一個ID,您使用document.getElementById('total_marks');

能得到你的價值觀,當你檢索你的價值觀後,做你的數學,你應該確保他們的數字(在你的情況下,整數),即:

var tmarks = parseInt(document.getElementById('total_marks')); 
0

你有你的形式(固定)

<form name="myform" onsubmit="return Secured_Rescaled_Marks(this);"> 
<table cellpadding="3"> 
    <tbody> 
    <tr> 
    <td bgcolor="#6699CC"> 
     <b>Total Marks:</b> 
     <input type="text" name="total_marks" /> 
    </td> 
    </tr> 
    </tbody> 
</table> 
</br> 
<table cellpadding="3"> 
    <tbody> 
    <tr> 
     <td bgcolor="#6699CC"> 
     <b>Secured Marks:</b> 
     <input type="text" name="secured_marks"> 
     </td> 
    </tr> 
    </tbody> 
</table> 
</br> 
<table cellpadding="3"> 
    <tbody> 
    <tr> 
    <td bgcolor="#6699CC"> 
    <b> Rescale Marks:</b> 
     <input type="text" name="rescale_marks"> 
    </td> 
    </tr> 
    </tbody> 
</table> 
</br> 
<input type="submit" name="order" value="Secured_Rescaled_Marks??"/> 
<input type="reset" value="Reset"> 
</form>​ 

JS的一些錯誤 <script language="javascript">應該<script type="text/javascript">

function Secured_Rescaled_Marks(frm) 
{ 
    var rescale_marks=parseFloat(frm.rescale_marks.value); 
    var total_marks=parseFloat(frm.total_marks.value); 
    var secured_marks=parseFloat(frm.secured_marks.value); 
    var secured = (rescale_marks/total_marks)*secured_marks; 
    if(isNaN(secured)) return false; 
    if(confirm(secured)) 
    { 
     this.submit(); 
     return true; 
    } 
    return false; 
}​ 

DEMO.

+0

你缺少的東西:腳本標籤是假的(語言屬性,wHAT? ) – ddaa 2012-04-28 15:36:22

+0

計算需要在浮點運算中完成。 – ddaa 2012-04-28 15:36:40

+0

表單作爲參數傳遞給事件處理程序。 – ddaa 2012-04-28 15:37:01

相關問題