2

私はこれを見てきました: Radio Button change event not working in chrome or safariで、探していた解決策が得られませんでした。ラジオ ボタンと onClick="jarod();" を含む単純なフォームがあります。jarod() は上記で呼び出された関数です。コードを参照してください:

<script type="text/javascript">
function jarod()
 {
  alert('yes');
 }
</script>

HTML フォームは次のとおりです。

<form id="form_601799" class="appnitro"  method="post" action="/formbuilder/view.php">
                <div class="form_description">
        <h2>Input Information to Prepare Answer</h2>
        <p></p>
    </div>                      
        <ul >
                <li id="li_1" >
    <label class="description" for="element_1">Number of paragraphs: </label>
    <div>
        <input id="element_1" name="element_1" class="element text small" type="text" maxlength="255" value=""/> 
    </div> 
    </li>       <li id="li_2" >
    <label class="description" for="element_2">Paragraph 1: </label>
    <span>

        <input id="element_2_1" name="element_2" class="element radio" type="radio" value="1" />

    <label class="choice" for="element_2_1" >Admit</label>
        <input onClick="jarod();" id="element_2_2" name="element_2" class="element radio" type="radio" value="2" />
    <label class="choice" for="element_2_2">Qualified Admission</label>
        <input id="element_2_3" name="element_2" class="element radio" type="radio" value="3" />
    <label class="choice" for="element_2_3">Deny</label>
        <input id="element_2_4" name="element_2" class="element radio" type="radio" value="4" />
    <label class="choice" for="element_2_4">Qualified Denial</label>
        <input id="element_2_5" name="element_2" class="element radio" type="radio" value="5" />
    <label class="choice" for="element_2_5">Legal Conclusion</label>
    </span> 
    </li>
                <li class="buttons">
            <input type="hidden" name="form_id" value="601799" />

            <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />
    </li>
        </ul>
    </form> 

ご覧のとおり、onclick="jarod();" があります。JavaScript 関数を呼び出そうとしています。onclick="jarod();" の場合、これは何もしません。入力タグセクションにありますが、次のようにラベルセクションに移動すると:

    <label class="choice" for="element_2_1" onClick="jarod();">Admit</lable>

この「ラベル」は Chrome で問題なく機能します。適格な許可または適格な拒否が選択されている場合、これを使用してテキスト領域を表示します。

助けてくれてありがとう。

PS - onclick="jarod();" も入れてみました テキストフィールドに入力すると、Chrome で問題なく動作します。ラジオ ボタンと Chrome の関係は?

編集:これはイライラします。時間を節約するために、phpform.org を使用してフォームを作成しました。上部でこの DOCTYPE を使用します。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

これを使用する場合:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

それはうまく動作します。誰かがそれが XHTML / XML の形式であるとコメントしましたが、確かにそうです。少なくとも、解決策を見つけようとしてコンピューターの前に座る代わりに、最後の数時間は寝て過ごすことができました。

悪いことは、私の CSS が正しく見えないことです。プログラミングの問題よりもフォーマットの問題の方がいいと思います。

ジャロッド

4

3 に答える 3

2

ドキュメントは XML ベースの形式の HTML として書かれていますか? その場合、名前は大文字と小文字が区別されるため、onClick は無視されます。ドキュメント全体を公開すると、誰かが元のドキュメントのコンテキスト内ですべてをテストでき、誰かが決定的な答えを確実に与えることができます (私はすぐに寝ます)。

今のところ、私の答えは、ラジオ ボタンの属性で onClick を onclick に変更しようとすることです。

また、1 つのラジオ ボタンだけでなく、すべてのラジオ ボタンの内部に onclick を配置する必要があります。他のラジオ ボタンは個別の HTML 要素であるため、そのうちの 1 つの onclick イベントは他のラジオ ボタンには適用されません。

于 2013-03-28T06:16:35.447 に答える
1

ここで DOCTYPE の問題を提供していないため、onclick または onClick である可能性があります

これを確認する必要があります。 オンクリックまたはオンクリック?

また、試してみてください

onclick="javascript:jarod();"

onclick for radio の時点で、OSX 用の chrome で動作しています。

http://jsfiddle.net/9efbR/

于 2013-03-28T06:16:33.853 に答える
0

無線入力で同様の問題が発生し (動作しませんでしonclick=""た)、解決策onclickonchange.

于 2020-03-18T08:17:21.117 に答える