私はいくつかの JavaScript および Ajax 関数を使用しています。より明確にするために自分自身を説明しながら、いくつかのコードを配置します。
私はこの要素を持っています:<div id="divTest" onclick="test()">YES</div>
ユーザーが DIV をクリックすると、関数は "YES" を次のように置き換えます。
YES <input type="radio" name="testing" value="YES" onclick="test_2(this.value)" checked />
NO <input type="radio" name="testing" value="NO" onclick="test_2(this.value)" />
これにより、ユーザーは正しいオプションを再度選択できます。次に、ラジオボタンを新しい値に置き換えたいので、ユーザーがオプションを選択すると、DIV は「ラジオ」オプションを置き換え、選択された値 (YES または NO) を最初と同じように表示します。
この時点で、すべてが完璧に機能します。
これが私の問題です:
DIVonclick()
の先頭に を付けたいonclick="test()"
ので、JavaScript から次のようにプロパティを指定しますdiv.onclick = function() { test();};
。test()
ユーザーが div をクリックしなくても、関数は実行されます。両方の機能をすぐに実行し、クリックされるまで待機しません。
クリックがあるまで関数を待機させる方法を知っている人はいますか? onclick
プロパティを間違って指定していますか?
私は自分自身を明確にしたことを願っています。
関数は次のとおりです。
function test() {
var div = document.getElementById("divTest");
//I DO NOT INCLUDE THE AJAX CODE BUT THE RESPONSE INCLUDE THE RADIO BUTTONS METIONED ABOVE
div.innerHTML = xml.responseText();
}
function test_2(newValue) {
div = document.getElementById("newValue");
div.innerHTML = newValue;
div.onclick = function() { test(); };
}