0

このコードを介してユーザーが選択する日付をコードに要求させます。

 <script type="text/javascript" charset="utf-8">
            var k3 = new Kalendae(document.getElementById("cal"), {
                months:3,
                format:'DD-MM-YYYY',
                mode:'single'
            });
        </script>

ユーザーはJavaScriptを使用して日付を選択し、HTML送信ボタンを押します。

    <form name="input_data" action="#" method="post" 
onSubmit="javascript:location.href="#?date_value=" + k3.getSelected();">

このコードのhtmlアクションは、同じページを#でリロードするように指示し、phpが次のコードでページをキャプチャできるようにします。

$dateValue= $_GET['date_value'];

$ dateValueをエコーする場合、理論的には元のjavascript入力をエコーする必要がありますか?いいえの場合、どのように変更する必要がありますか?

4

2 に答える 2

0

単に使用する

<form action="" method="post">

動作するはずです。

ボタンを「保存」(name="save") と呼ぶとします。これにより、送信時に PHP がトリガーされます。

if (isset($_POST['save'])) { // Your stuff here

代わりに、変更時にカレンダー情報を更新し、非表示の入力フィールドに保存する必要があります。ハッシュタグを含むフォームを送信すると、いくつかのブラウザーで問題が発生することを知っています。

于 2012-05-04T13:40:50.883 に答える
0

#次のように form タグからを削除すると:

<form name="input_data" action="#" method="post" 
onSubmit="javascript:location.href="?date_value=" + k3.getSelected();">

URL が追加され?date_value=Whateverて呼び出されますが、フォームが送信され、アクションを取得してデータが投稿されます。それを保持すると、ページが呼び出されないため、理論的には、2 番目のページの読み込みのために get が失われる原因はありません。値を取得できませんが、次のようにフォームにこの編集を使用することで、これを機能させることができます。

<script type="text/javascript">
    function edit() {
        document.input_data.action = "?date_value="+k3.getSelected();
    }
</script>

<body>
    <form name="input_data" action="" method="post" onSubmit="javascript:edit();">
        ...
    </form>
</body>

これにより、フォームからポスト値と一緒に get 値が送信されます。フォームの onSubmit 属性を更新し、次のように編集関数を削除することで、別の関数を必要とせずに実行できます。

<body>
    <form name="input_data" action="" method="post" onSubmit="javascript:this.action='?date_value'+k3.getSelected();">
        ...
    </form>
</body>
于 2012-05-04T13:54:09.607 に答える