0

ポップアップ ウィンドウと関数を使用してラジオ ボタンの値を別のページに保存しようとしていますが、ラジオの値を送信すると、テキスト フィールドに未定義のエラーが発生します。

 <script langauge="javascript">
 function post_value() {
     opener.document.f1.OPRID.value = document.frm.OPRID.value;
     self.close();
 }
 <input type="radio" name="OPRID" id="radio" value=<?=$objResult["OPRID"];?>>
 <input type="button" value='Submit' onclick="post_value();"> 

およびその他のページ テキスト フィールド

 <form method="post" action='' name='f1'>
 <table border=0  width=550> <tr>
 <td>Your Name</font><input id="OPRID" name="OPRID" type="text" value="<?php echo (isset($_POST 
  ['OPRID']) ? $_POST['OPRID'] : ""); ?>"/> 
   <a href="javascript:void(0);"
  NAME="My Window Name" title=" My title here "
    onClick=window.open       

 ("popwindow.php","Ratting","width=650,height=550,0,status=0,scrollbars=1");>
 Click here to open the child window</a> 

   </td></tr> </table></form>     

しかし、テキストフィールドでは未定義のエラーが発生しています。

4

4 に答える 4

0

コードにいくつかのエラー/問題があります:

  • JavaScript を削除します。不要です。
  • 別のページに何かを送信するには ( $_POST/を使用するため$_GET)、<form>
  • コードを読みやすくしてください。インデントを試して、要素に改行を使用してください

コードを次のようにします。

メインページ

<form method="POST" action="otherpage.php">
    <input type="radio" name="OPRID" id="radio" value="<?php echo $objResult["OPRID"];?>" />
    <input type="button" value="Submit" />
</form>

次に、送信ボタンが押されると、フォームが otherpage.php に送信されるため、$_POST['OPRID']そこに値があります。

otherpage.php

<form method="post" action="" name="f1">
    <table border=0 width=550>
        <tr>
            <td>
                Your Name
                <input id="OPRID" name="OPRID" type="text" value="<?php echo (isset($_POST['OPRID']) ? $_POST['OPRID'] : ""); ?>" /> 
                <a href="javascript:void(0);" name="My Window Name" title=" My title here " onClick="window.open('popwindow.php','Ratting','width=650,height=550,0,status=0,scrollbars=1');" />
                    Click here to open the child window
                </a>
            </td>
        </tr>
    </table>
</form>

この部分は次のvalue="<?php echo (isset($_POST['OPRID']) ? $_POST['OPRID'] : ""); ?>"ことを意味します。

  • value="..."- テキストボックスにテキストを入れます
  • <?php ... ?>- PHP コードの一部を実行する
  • echo ...- テキストを印刷する
  • (isset($_POST['OPRID']) ? $_POST['OPRID'] : "");-$_POSTに の値が含まれる場合OPRID( ?) その値を使用し、そうでない場合 ( :) 何も使用しない ( "")
于 2013-10-23T07:35:20.263 に答える
0

チェックボックスの場合、チェックボックスのみが選択されている場合、PHP は値を渡します。そのチェックボックスがPHPページに届いたことを確認できます。受信したユーザーがそれを選択した場合、またはユーザーが選択しなかった場合、チェック ボックス名は PHP ページに渡されません。

確認できるように

if(isset($_POST["chk"]))

...これがtrueを返す場合、それはユーザーがチェックボックスを選択したことを意味し、そうでない場合はユーザーが選択されていないことを意味します...

于 2013-10-23T06:24:47.137 に答える
0

チェックボックスは、チェックされている場合にのみ何かを渡します。それらが設定されている場合は isset で確認するか、チェックボックスの前に同じ名前とデフォルト値を持つ隠しフィールドを追加します(チェックボックスがチェックされている場合、チェックボックスによって上書きされます)。

于 2013-10-23T06:27:18.360 に答える
0

ラジオボタンをどこで使用したかわかりません。すべてが正しい場合は、他のページにすべての投稿データを印刷して、コントロールの値が渡されているかどうかを確認してください。print_r($_POST) ラジオ コントロール名が POST 配列のキーとして表示されるはずです。最初のページに <input type="radio" name="radio1" value="this is value"/> があるとします

print_r($_POST) の結果は Array=>("radio1"=>"this is value") になるはずです

$_POST["radio1"] としてその値にアクセスします

于 2013-10-23T06:31:19.473 に答える