2017-08-25 54 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