0
我已經設置了一些ajax代碼來驗證使用php的窗體內的多個字段。代碼就像一個魅力,但我想盡量減少使用的JavaScript。你可以在下面的代碼中看到,獲取getElements('input')...驗證所有輸入字段,然後getElements('textarea')驗證...你知道! ; o)Textarea是以下代碼中的最後一行,之後的javascript與inpt相同 Im在我的控制器中使用php驗證輸入,textarea,選擇列表,複選框等,但獲取元素後的代碼是完全相同的。阿賈克斯 - 多重驗證
所以我在想,我也許可以做一個SWITC情況下,或者其他的javascript循環的元素和只寫複製的JavaScript一次....
莫非是做???
window.addEvent('domready', function(){
$('container').getElements('input').addEvent('keyup', function(e){
//stop the input-tag event
e = new Event(e).stop();
//identify which item was activated
var querystring = this.title;
var value = this.value;
var myXHR = new XHR({
method: 'get',
onSuccess: function(e){
var myString = myXHR.response.text;
var myStringArray = myString.split("###RAWR###");
$(myStringArray[1]).innerHTML = '<em class="checking"> </em>';
setTimeout(ajax , 3500);
function ajax(){
$(myStringArray[1]).innerHTML = '<em class="'+myStringArray[2]+'">'+myStringArray[0]+'</em>';
}
}
});
myXHR.send('index2.php?option=com_component&task=validate&value='+value, querystring);
});
$('container').getElements('textarea').addEvent('keyup', function(e){
看起來很有趣。因此,我必須用名稱標記(如或)來標識每個輸入字段,並使用for循環搜索名稱標記?一切,HTML以及控制器驗證保持不變? (我不是一個JavaScript專家...這段代碼花了我30個小時來執行;) – Jakob
我更新了我的答案,並從標籤列表中刪除了複選框。如果你對所有輸入類型,texareas和下拉框使用相同的驗證,它應該可以工作。 – pikand