我在简单程序中遇到困难......
我有一个简单的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;
任何帮助将不胜感激......
答案 0 :(得分:1)
首先,您应该将表单设为name
,然后您可以使用以下常用方法之一:
document.FormName.elements["element_name"].value;//select by name
//or
document.FormName.elements[index].value;//select by index position
注意: FormName
是示例中的表单名称
然后要在函数中使用此值,您需要将其从字符串转换为数字,如下所示:
var val = document.FormName.elements["element_name"].value;
val = parseFloat(val);
答案 1 :(得分: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'));
答案 2 :(得分: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;
}