.NETのバックエンドに設定されたonclickイベントを持つボタンがあります。チェックボックスをクリックすると、それはチェックボックスjQueryでonclick関数を変更する
<button class="img_button" onclick="if(buttonLoader(this)){WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('uxBtnRelease', '', true, '', 'somepage.aspx?oupid=5&fp=true', false, true))} return false;" type="button">Release</button>
<input type="checkbox" checked="checked" id="myCheckbox">
で横に、ボタンのonclickの関数内URLのクエリ文字列の値を変更する必要があります。
これまでのところ、私はこれを持っている、との考えは正しいですが、私はそれが実行されます時にエラーが発生しておいてください。「キャッチされないでSyntaxError:予期しないトークンILLEGAL」
var defaultReleaseOnClick=null;
$("#myCheckbox").click(function(){
var $releaseBtn = $(".img_button");
if(defaultReleaseOnClick==null) defaultReleaseOnClick=$releaseBtn.attr("onclick");
var newOnClickString = defaultReleaseOnClick.toString().replace(/&fp=[a-z]+'/i,"&fp="+this.checked);
$releaseBtn.removeAttr("onclick").click(eval(newOnClickString));
});
私は機能を変換するために、ちょっとハックようだ知っています文字列に置き換えて、それを関数に変換しようとしますが、それ以外の方法はありません。
アイデア?
私はここにデモを設定しました:http://jsbin.com/asiwu4/edit
サーバで設定されている機能は、すでに認識されていますか?次に、既定のクリックイベントを防ぎ、調整された値で既知のクリックイベントを実行します。そうでなければ、あなたのソリューションは最高のようです(良いものではありませんが、機能します)。 – jerone