0

私は codeigniter を使用しています。単純な form_dropdown() があります。ドロップダウンに対して onchange() 関数を実行したいと考えています。

JavaScript で選択した文字列を取得します。

これは私のコードですが、機能していません

$js ="onChange=message()";
echo "<script type=\"text/javascript\" > function message(){ var no=document.getElementById('name').value;

alert(sr);
}
</script>";
echo form_dropdown('name',$data,'large',$js);
4

2 に答える 2

0

form_dropdownは要素にIDを自動的に追加しないためgetElementById、記述どおりに機能しません。

また、理解のために、ガイドは4番目のパラメーターをうまく説明していません。それを呼び出すと$js誤解を招く可能性があります。属性リストに指定したものをすべて追加するからです。

1行のコードを次のように変更します(onChange関数の前後の引用符にも注意してください)。

 $js = 'id = "name" onChange="message();"';

出力後にソースコードを表示して、有効なhtmlも出力していることを確認してください。

また、Chromeでは、F12によって開発者ツールが表示され、escキーを押すと、JavaScriptコンソールの表示が切り替わります。これにより、すべてが計画どおりに進まない場合に意味のあるエラーが発生する可能性があります。

編集:

また、と呼ばれる変数の値を設定しているように見えますが、定義されていないように見える、とno呼ばれる変数に警告しています。sr

于 2013-01-03T10:04:32.010 に答える
0

から値を取得する代わりに簡単な関数呼び出しから ref を渡すこともできdocument.getElementById()ます。select dropdowm に id を追加すると機能します。

このコードを試してください

<?php 
echo "<script type=\"text/javascript\" > 
        function message(element){ 
           var no=element.value;
           alert(no);
         }
</script>";

echo form_dropdown('name',$data,'large', 'onChange="message(this);"'); 

?>
于 2017-01-05T06:29:51.587 に答える