2

私はここで同様の質問を見つけましたが、ほとんどの解決策は私にはうまくいきません。日付ピッカー付きのフォームがあり、選択した日付をphpファイルに渡したいのですが、機能しないようです。

私のhtmlは次のようなものです:

<form name="myForm" action="createevent.php" onsubmit="return validateForm()" method="get"> 
<p>Date<input type="text" id="mydate" /></p>
<input type="submit" name="submit" value="Submit" />
</form>

Javascript:

$(function() {
$.datepicker.setDefaults($.extend($.datepicker.regional[""]));
$("#mydate").datepicker({
    onSelect: function(dateText, inst) {
    var dateAsString = dateText; 
    alert (dateAsString); //this prints out the right value.
    alert (mydate.value); //this value is the same as dateText
    }
});

createevent.php

function CreateEvent()
{
    if(isset($_GET['submit']))
    {
        $mydate=$_GET['mydate'];
        echo $mydate;
    }
    }

(mydate.value)にアラートを送信すると、正しい値が表示されます。しかし、phpファイルに$ mydateをエコーすると、何も表示されません。どんな助けでも大歓迎です!

アップデート:

君たちありがとう!私はばかげた間違いをしました。「name」属性の追加は機能します。フォローアップの質問があります。私もタイムピッカーを持っていて、01:21のようなものを返します。私の日付は2013年1月1日のようなものを返します。これら2つを組み合わせて日時タイプにして、データベースに追加できるようにする方法はありますか?どうもありがとう!

4

3 に答える 3

3

試していませんが、コントロールに「名前」がないだけなのかと思います。次のように変更してみてください。

<input type="text" id="mydate" name="mydate"/>
于 2013-01-28T06:38:47.723 に答える
3

が発生した後の日付では何もしていないように見えるので、onSelect私が見る唯一の間違いは、入力にname属性がなく、$_GETスーパーグローバルに表示されないことです。

入力を次のように変更します。

<input type="text" id="mydate" name="mydate"/>

そしてそれはうまくいくはずです。

日付と時刻をMySQLデータベースに保存する場合は、次のようにすることができます。あなたのフォームの最初:

<form name="myForm" action="createevent.php" onsubmit="return validateForm()" method="get"> 
<p>Date<input type="text" id="mydate" name="mydate"/></p>
<p>Time<input type="text" id="mytime" name="mytime"/></p>
<input type="hidden" id="mydatetime" name="mydatetime"/>
<input type="submit" name="submit" value="Submit" />
</form>

次に、validateForm()関数に次のようなものを追加します。

var date = $('#mydate').val(),
    time = $('#mytime').val();

var datetime = [date.replace('/','-'),time].join(' '); // 01-01-2013 01:21
$('#mydatetime').val(datetime);
于 2013-01-28T06:40:38.407 に答える
2

入力ボックスに変更を加えました

<input type="text" id="mydate" />

に :

<input type="text" id="mydate" name="mydate"/>

フォームを送信すると、textbox mydateの名前の値が送信され、次の方法で取得できます。$_GET["mydate"]

于 2013-01-28T06:39:29.347 に答える