2017-08-25 60 views
-1

我有一个表格,并要执行此功能的提交按钮被按下后:JavaScript函数提交

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> 

我已经试过的onsubmit,的onclick等。

+1

您当前的代码确实执行该功能。但是,你的代码中有语法错误。 –

回答

3

发生这种情况是因为你没有阻止浏览器的默认行为,通过使用event.preventDefault()return与任何falsetrue相应。

function [...](e) { 
    e.preventDefault(); 
    [...] 
} 

变化,

<input type="submit" name="submit" value="submit" onclick="bereken()"> 

到,

<input type="submit" name="submit" value="submit" onclick="bereken(event)"> 

要通过内联事件侦听器的事件的说法。

+0

我很想upvote这个,但它缺少一个代码示例 –

+0

@JeremyThille现在怎么样? – Script47

+0

呃,我期待'function bereken(event){event.preventDefault()' –

-1

我认为这应该工作,如果你使用jQuery。

$("#myForm").submit(function(e){ 
     e.preventDefault(); 
     // your code here 
}); 
+1

这应该是因为? –

+0

看起来不像原始代码使用jQuery。 – David

+1

*我认为这应该工作,如果你使用jQuery。* - 其实它可以工作,如果你也使用香草(简简)JavaScript。 – Script47