PHPを使用してフォーム内の複数のフィールドを検証するために、いくつかのajaxコードを設定しました。コードは魅力のように機能しますが、使用する JavaScript を最小限に抑えたいと考えています。
以下のコードでわかるように、すべての入力フィールドを検証する getElements('input') ... を取得してから、検証する getElements('textarea') を取得しています... わかります! ;o) Textarea は以下のコードの最後の行であり、その後の JavaScript は inpt と同じです。PHP を使用してコントローラーの入力、テキストエリア、選択リスト、チェックボックスなどを検証していますが、取得後のコードは要素はまったく同じです。
だから私はスイッチケースを作ることができるかもしれないと考えていました.さもなければ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){