2011-02-27 46 views
2
<pre> 
<script> 
// here i want to check form validation 
//if i use for loop txtbox2 is not exist in my form so i am getting Js error 


//Don't write individual validation 
//check element is exist or not if exist check for validation 

//I need know how to check an element is exist or not 
</script> 

<form 
<input type="text" id="txtbox1" name="txtbox1" />* 
<input type="text" id="txtbox3" name="txtbox3" />* 
<input type="text" id="txtbox4" name="txtbox4" />* 
<input type="text" id="txtbox5" name="txtbox5" />* 
<input type="text" id="txtbox15" name="txtbox15" />* 
<input type="text" id="txtbox28" name="txtbox28" />* 

</pre> 
+0

我不確定你想要做什麼。請澄清。 – jmort253 2011-02-27 08:10:27

+0

你沒有關閉你的表格標籤(你沒有在「表格」上關閉guillemet,也沒有關閉「」標籤)。這是提交這個問題的錯誤,還是解決了你的問題? – TimFoolery 2011-02-27 08:13:17

回答

2

套用class對他們說:

<input type="text" id="txtbox1" name="txtbox1" class="txt" /> 
<input type="text" id="txtbox3" name="txtbox3" class="txt" /> 
<input type="text" id="txtbox4" name="txtbox4" class="txt" /> 
<input type="text" id="txtbox5" name="txtbox5" class="txt" /> 
<input type="text" id="txtbox15" name="txtbox15" class="txt" /> 
<input type="text" id="txtbox28" name="txtbox28" class="txt" /> 

,並去了解這樣的:

function validate(){ 
    var elms = document.getElementsByTagName('input'); 

    for (var i = 0; i < elms.length; i++){ 
    if (elms[i].className === 'txt'){ 
     if (elms[i].value === ''){ 
      alert('Make sure to fill in all required fields'); 
      // now focus it 
      elms[i].focus(); 
      return false; 
     } 
    } 
    } 

    return true; 
} 

然後調用這樣上面的函數:

<form ............ onsubmit="return validate();"> 
1

你可以得到元素的引用,並檢查參考爲空或不是:

for (var i=1; i<=100; i++) { 
    var elem = document.getElementById('txtbox' + i); 
    if (elem != null) { 
    ... 
    } 
} 

另一種方法是看在表格中的元素,但你需要一種方法來訪問過程的形式:

var elems = document.getElementById('IdOfTheForm').elements; 
for (var i=0; i<elems.length; i++) { 
    var elem = elems[i]; 
    if (elem.tagName == 'INPUT' && elem.type == 'text' && elem.id.length > 6 && elemt.id.substr(0,6) == 'txtbox') { 
    ... 
    } 
} 
2

發佈您的代碼。

最簡單的方法來驗證是通過使用jquery validate插件。(爲什麼編寫自己的代碼時,別人做了相同的?)。

一個例子

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.js"></script> 
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#feedbackform").validate(); 
    }); 
</script> 

<body> 
<form id = "feedbackform" method = "POST" action = ""> 
<h3><span>Contact Us</span></h3> 
<fieldset> 
    <legend>Contact form</legend> 

    <label for="id_name">Name *</label> 
    <input id="id_name" class="required" type="text" name="name" /> 

    <label for="id_email">Email</label> 
    <input id="id_email" type="email" name="email" class="email"/> 

    <label for="id_comments">Message *</label> 
    <textarea id="id_comments" class="required" name="comments"></textarea> 
    <button type="submit">Send</button>  

</fieldset>   
</form> 

要驗證添加類= 「需要」 的元素。我希望提供的例子是自我解釋的

相關問題