表单提交后未执行Javascript函数
我有一个表单,想在按下提交按钮后执行此功能:表单提交后未执行Javascript函数,javascript,forms,function,submit,Javascript,Forms,Function,Submit,我有一个表单,想在按下提交按钮后执行此功能: function bereken() { if(document.getElementById('v1_1').checked) { c = c - 0 }else if(document.getElementById('v1_2').checked) { c += 1; }else if(document.getElementById('v1_3').checked) {
function bereken() {
if(document.getElementById('v1_1').checked) {
c = c - 0
}else if(document.getElementById('v1_2').checked) {
c += 1;
}else if(document.getElementById('v1_3').checked) {
c += 2;
}else if(document.getElementById('v1_4').checked) {
c += 3;
}else if(document.getElementById('v1_5').checked){
c += 4;
}
var naam = document.getElementById('naamTxt').value;
var percentages = "C: " + c/40*100 + "%. S: " + s/40*100 + "%. G: "+ g/40*100 + "%. E:" + e/20*100 + "%. I= " + i/20*100 + "%";
var antwoorden = "1. Ik ben spontaan =" + $('input[name=v1]:checked', '#myForm').val() + " 2. Mijn gedachten zijn ordelijk = " + $('input[name=v1]:checked', '#myForm').val();
var li = document.getElementById("klasDown");
var klas = li.options[li.selectedIndex].value;
alert(klas + ", "+ naam + " = C: " + c/40*100 + "%. S: " + s/40*100 + "%. G: "+ g/40*100 + "%. E:" + e/20*100 + "%. I= " + i/20*100 + "% " + "1. Ik ben spontaan =" + $('input[name=v1]:checked', '#myForm').val() + " 2. Mijn gedachten zijn ordelijk = " + $('input[name=v1]:checked', '#myForm').val());
}
我尝试过不同的方法,在这个网站上探索类似的问题,但没有成功。有人能指出它为什么没有被解雇吗
<form id="myForm" method="post" onsubmit="return bereken()" >
Volledige naam: <input name="naamTxt" type="text" maxlength="512" id="naamTxt" class="searchField"/> <br>
Klas: <select name="klasDown">
<option value="H4A" selected="selected">H4A</option>
<option value="H4B" >H4B</option>
<option value="H4C">H4C</option>
<option value="H4C">H4D</option>
<option value="H4C">V4A</option>
<option value="H4C">V4B</option>
<option value="H4C">V4C</option>
<option value="H4C">V4D</option>
</select>
</div>
<br> <input type="submit" name="submit" value="submit" onclick="bereken()">
</form>
沃勒迪格·纳姆:
克拉斯:
H4A
H4B
H4C
H4D
V4A
V4B
V4C
V4D
我已经尝试过提交、单击等。之所以会发生这种情况,是因为您没有通过使用或
返回来阻止浏览器的默认行为,或者相应地使用false
或true
function [...](e) {
e.preventDefault();
[...]
}
变,
<input type="submit" name="submit" value="submit" onclick="bereken()">
对,
为内联事件侦听器传递事件参数。我认为如果使用jQuery,应该可以这样做
$("#myForm").submit(function(e){
e.preventDefault();
// your code here
});
我很想更新这个,但它缺少一个代码example@JeremyThille现在呢?呃,我期待着函数bereken(event){event.preventDefault()
你为它奋斗过:)它现在确实启动了,但是,我得到了这个错误:Uncaught TypeError:无法读取null的属性'options',行为:var klas=li.options[li.selectedIndex].value;您当前的代码确实执行了该函数。但是,您的代码中有语法错误。看起来原始代码使用的不是jQuery。我认为如果您使用jQuery,这应该可以工作。-实际上,如果您使用香草(纯简)JavaScript,它也可以工作。
$("#myForm").submit(function(e){
e.preventDefault();
// your code here
});