0

PHP 内から Jquery 関数を呼び出すのに問題があります。以下のコードを使用すると、構文エラーが発生します。

if(!empty($_POST['selectAGE'])){
     $username = $_POST['selectAGE'];
}

if(empty($_POST['selectAGE'])){
   echo '<script type="text/javascript">'
   ,  '$("#selectAGE").prepend("<option value=''></option>").val('');'
   , '</script>';
}

うまく逃げられないのか?

これに加えて、次を使用してこの選択ボックスをチェックしています

if ( form.selectAGE.selectedIndex == 0 ) { alert ( "Enter the correct Age." ); return false; }

ただし、フォームが送信されると、先頭に追加された「空」の値が削除され、選択した値が selectedindex 0 になります。したがって、上記のチェックでは、入力していないことが返されます。これを考慮して上記の行を修正するにはどうすればよいですか?

4

3 に答える 3

3

ここで文字をエスケープします。

'$("#selectAGE").prepend("<option value=\'\'></option>").val(\'\');'
于 2012-06-11T17:43:45.413 に答える
1

エスケープによって問題が発生する場合は、JS をエコーアウトするのではなく、JS を記述します。

if(empty($_POST['selectAGE'])): ?>
   <script type="text/javascript">
       $('#selectAGE').prepend('<option value=""></option>').val('');
   </script>
<?php endif;

私は、JS と PHP の間でブラケットを一致させる代わりに、endif を使用することを好みます。

于 2012-06-11T17:47:26.733 に答える
0

一重引用符をエスケープする必要があります。これを試して:

<?
if(!empty($_POST['selectAGE'])){
     $username = $_POST['selectAGE'];
}

if(empty($_POST['selectAGE'])){
   echo '<script type="text/javascript">',
   echo '$("#selectAGE").prepend("<option value=\'\'></option>").val(\'\');'
   , '</script>';
}
?>
于 2012-06-11T17:46:02.303 に答える