2015-03-13 83 views
0

我試圖阻止提交的表單,如果驗證失敗,但它目前不工作。 onclick方法用於隱藏輸入,但其onsubmit方法失敗。有任何想法嗎?Javascript/PHP驗證

 <input type="submit" class="btn ccm-input-submit" id="register" name="register" value="Register" onsubmit="return validation(this)" onclick="copytextbox()"/> 
     <?php echo $form->hidden('rcID', $rcID); ?> 

<script> 
function copytextbox() 
{ 
    var textToCopy = document.getElementById('school').value; 
    var whereToCopy = document.getElementById('<?php echo $school ?>'); 
    whereToCopy.value += textToCopy; 
} 

function validation(f) 
{ 
    var schoolText = document.getElementById('school').value; 
    if (schoolText == '') { 
     alert('Please Choose a value from the dropdown box.'); 
     return false; // stop submission until textbox is not '' 
    } else { 
     f.submit(); 
     return false; 
    } 
} 
</script> 

此外,即時通訊嘗試看看是否值是一個數組中的一員,我嘗試使用的indexOf(schoolText)等,但這個也失敗了,親切的問候

+0

用於前walidation使用f] [query.validate](https://github.com/DiegoLopesLima/Validate#readme),爲PHP驗證使用[尊重/驗證](https://github.com/Respect/Validation) – walkingRed 2015-03-13 14:43:59

+0

請記住,黑客可以輕鬆繞過瀏覽器內驗證。 – hanshenrik 2015-03-13 18:48:04

回答

3

<input>標籤移動你的onsubmit="return validation(this)"屬性到<form>標記。

測試像這樣的數組:

// global array 
var fruits = ["Banana", "Orange", "Apple", "Mango"]; 

function findFruit(val) { 
    if(fruits.indexOf(val) == -1 { 
    alert('not found'); 
    } else { 
    alert('Found!') 
    } 
} 
findFruit('Peach'); // not found 
+0

簡短而甜蜜的感謝,關於如何檢查值是否是數組的一部分的任何想法? – Frog82 2015-03-13 14:48:18

+0

更新了我對Array問題的回答。 – wwwmarty 2015-03-13 18:18:10

+0

感謝您的幫助! – Frog82 2015-03-16 09:37:40