onSubmit在任何浏览器中都不起作用
onSubmit not working in any browser
我有一个简单的表单。我想用我的简单公式来计算表单隐藏字段的值(将下拉框中的比率除以100,然后将其与文本字段的估计报酬相乘)。
然而,由于一些奇怪的原因onSubmit不能在表单上工作。我想计算上述值时,表单提交,但它没有被任何浏览器调用。这真是一个奇怪的问题。
代码如下:
<script type="text/javascript">
function calc1()
{
var a= document.getElementById('inf_custom_FLRaterClassCode0').value;
var b = document.getElementById('inf_custom_FLRaterEstimatedPayroll').value;
document.getElementById('inf_custom_EstimatedQuote').value=parseFloat(a)/100 * parseFloat(b) ;
}
</script>
<form accept-charset="UTF-8" action="https://kg933.infusionsoft.com/app/form/process/968a6b704587136af8684f30cc8c5cf4" class="infusion-form" method="GET" onSubmit="calc1();">
<input name="inf_form_xid" type="hidden" value="968a6b704587136af8684f30cc8c5cf4" />
<input name="inf_form_name" type="hidden" value="Full Quote - Florida Rate" />
<input name="infusionsoft_version" type="hidden" value="1.28.7.21" />
<div class="infusion-field">
<label for="inf_field_FirstName">First Name *</label>
<input class="infusion-field-input-container" id="inf_field_FirstName" name="inf_field_FirstName" type="text" />
</div>
<div class="infusion-field">
<label for="inf_field_LastName">Last Name *</label>
<input class="infusion-field-input-container" id="inf_field_LastName" name="inf_field_LastName" type="text" />
</div>
<div class="infusion-field">
<label for="inf_field_Company">Company *</label>
<input class="infusion-field-input-container" id="inf_field_Company" name="inf_field_Company" type="text" />
</div>
<div class="infusion-field">
<label for="inf_field_Email">Email *</label>
<input class="infusion-field-input-container" id="inf_field_Email" name="inf_field_Email" type="text" />
</div>
<div class="infusion-field">
<label for="inf_field_Phone1">Phone 1 *</label>
<input class="infusion-field-input-container" id="inf_field_Phone1" name="inf_field_Phone1" type="text" />
</div>
<div class="infusion-field">
<label for="inf_custom_FLRaterClassCode0">FL Rater - Class Code #2 *</label>
<select id="inf_custom_FLRaterClassCode0" name="inf_custom_FLRaterClassCode0"><option value="">Please select one</option><option value="9519">9519</option><option value="5473">5473</option><option value="5472">5472</option><option value="9516">9516</option><option value="8393">8393</option><option value="8380">8380</option><option value="5188">5188</option></select>
</div>
<div class="infusion-field">
<label for="inf_custom_FLRaterEstimatedPayroll">FL Rater - Estimated Payroll *</label>
<input class="infusion-field-input-container" id="inf_custom_FLRaterEstimatedPayroll" name="inf_custom_FLRaterEstimatedPayroll" type="text" />
</div>
<input name="inf_custom_EstimatedQuote" type="hidden" value="" />
<div class="infusion-submit">
<input type="submit" value="Submit" />
</div>
</form>
问题是您试图通过id访问元素,但应该通过名称访问。
代替document.getElementById('inf_custom_EstimatedQuote').value=parseFloat(a)/100 * parseFloat(b) ;
document.getElementsByName('inf_custom_EstimatedQuote')[0].value=parseFloat(a)/100 * parseFloat(b) ;
或在发送表单之前为要更改的输入提供id。
它是"onsubmit"而不是"onsubmit"
event_form_onsubmit
calc1()在提交表单之前运行。但是,当您提交表单时,您重新加载页面(到"https://kg933.infusionsoft.com/app/form/process/968a6b704587136af8684f30cc8c5cf4"),因此您永远不会看到计算结果,因为打开了一个新网页。
相关文章:
- 当我在浏览器中打开HTML文件时,javascript不起作用
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 为什么简单的Promise语句在浏览器中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 使用Javascript的Ajax请求在iPhone浏览器中不起作用
- 谷歌浏览器模式正则表达式在使用setCustomValidity动态创建表单时不起作用
- 为什么我的谷歌浏览器扩展程序在谷歌浏览器版本 41.0.2272.89 中不起作用
- 为什么这个JavaScript在浏览器中不起作用
- 多个 socket.io 客户端连接不起作用(谷歌浏览器,火狐浏览器)
- 脚本在web浏览器控件中不起作用
- 禁用浏览器中的后退按钮不起作用
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- jQuery在我的网站上不起作用,但在我的浏览器上起作用
- 角度路由;在浏览器中直接访问URL时不起作用,但在单击时起作用
- 转到顶部按钮在Firefox浏览器中不起作用
- javascript代码在浏览器中不起作用
- JavaScript文件在浏览器中不起作用,但它在代码笔中起作用
- Javascript浏览器通知不起作用
- 为什么javascript在谷歌浏览器上不起作用