フォームにエラーメッセージング用の隠しdivを表示する関数があります。特定の入力ボタンがクリックされた場合にのみdivにクラスを追加
この機能では、シナリオによって2つの異なる場所に表示する必要があります。したがって、特定の送信ボタンがクリックされた場合は、クラスを追加する必要があります。私は別の関数を書くことができますが、私はdiv要素の表示を扱う私の現在の機能の中でそれを含めたい:
function giftAlert(){
var args = arguments;
if(args.length > 1) {
// check that custom alert was called with at least two arguments
var msg = args[0];
$('.errorPopup').hide();
$('.couponPopup').hide();
$('.promotionPopup').hide();
$("*").removeClass("alertRed");
$("*").removeClass("CO_form_alert");
var div = $(".giftPopup");
div.css({"display":"block"});
if (div.length == 0) {
div = $("<div class='giftPopup' onclick='$(this).hide();'></div>");
$("body").prepend(div);
}
div.html(msg);
for(var i = 1; i < args.length; i++) {
var inputID = args[i];
$("#"+inputID).addClass("CO_form_alert").parent().addClass("alertRed");
$('#' + inputID).focus();
$('#' + inputID).keydown(function() { $('.giftPopup').hide(); }).change(function() { $('.giftPopup').hide(); }).blur(function() { $('.giftPopup').hide(); });
}
}
}
だから、このビットがどこにあるか:
var div = $(".giftPopup");
div.css({"display":"block"});
私はしたいと思いますいくつかのロジックを追加します。もしinput1がクリックされたら、giftPopupはinput1に対してのみ追加クラスを取得します。
help?
$('.input1').click(function(){
$('.giftPopup').addClass('whatever');
});
例:http://jsfiddle.net/ebiewener/Dsb8X/
これらの2つの入力を定義したり、クリックハンドラを追加する場所はどこですか?そこにコードを追加してください。 'onclick =" if(this.id = 'input1'){クラスをポップアップに追加}; " –
私はjQueryの.click()を使うことを賛成してonclick = ...を使わないでください。もっと良いのは.live()を使うことです。 – kasdega