0

2 つのフォームを含むページがあります。これは問題にはなりませんが、機能していません。私のjqueryは次のようになります:

$(document).ready(function()
        {
            $("table.jobs tbody tr td#ejob").click(function()
            {
                var $this = $(this);
                var col   = $this.text();
                var LeftCellText = $this.prev().text();
                $('#jobid').val(LeftCellText);
                if (col == '')
                alert("Please pick another column");
                else
                $('#jobUpdate').submit();
            });
            var now = new Date();
            var month = now.getMonth()+1;
            var day = now.getDate();
            var year = now.getFullYear();
            if (month<10){month='0'+month}
            if (day<10){day='0'+day}
            var now = month +"/"+ day + "/" + year;

            var calendarBox = $('#calDate');
            //$('#calDate').val(calendarBox.datetimepicker('getDate'));
            var thisone = $('#calDate').val(calendarBox.datetimepicker('getDate'));

            calendarBox.datepicker(
            {
                minDate:('setDate', '' , new Date()),
                defalt:calendarBox.val(now),

                onSelect: function (selectedDateTime)
                {
                    $('#calDate').val(calendarBox.datetimepicker('getDate'));
                    alert("Sendeing " + $('#calDate').val(calendarBox.datetimepicker('getDate')));
                    $('#calendarForm').submit();
                }
            });
        }
        );

私のフォームは次のようになります。

echo "<form id='calendarForm' action='view_rev8.php' method='POST'>";
echo "<table border='0' width='100%'class='calendarTable'>";
echo "<tr><td align='left'>Click on a job number to update or change job information</td>";
echo "<td align='right'></td>";
echo '<td align="right">Calendar: <input type="text" id="calDate" size="15" name"calDate"/></td></tr>';
echo "</table>";
echo "</form>";
//creates the form to post jobid for updateJobForm.php
echo'<form id="jobUpdate" action="../forms/updateJobForm.php" method="post">';
echo'<input type="hidden" name="jobid" id="jobid">';
echo '</form>';

最初の関数は、ユーザーがテーブル アイテムをクリックして post 値を問題なく送信したときに処理します。日付ピッカーが機能し、フォームが送信されますが、次のエラーが表示されます: Undefined index: calDate from the following page:

$pickedDate = $_POST['calDate'];
include_once("../php/job_class.php");
echo $pickedDate;

$obj=new  jobs();
echo "<div style='border:solid 1px '>";
foreach ($obj as $val)
{
echo "<pre>";
echo print_r($obj);
//echo $obj->jobInfo();
echo "</pre>";
echo "</div>";
}

なぜこれが機能しないのですか?これは明確に定義されたフォームからの単純な投稿であり、私が見る限り、すべてのフィールドに一貫して正確に名前が付けられています。

4

1 に答える 1

2

入力タグに無効な HTML があります。(=標識がありません。)

<input type="text" id="calDate" size="15" name"calDate"/>

次のようにする必要があります。

<input type="text" id="calDate" size="15" name="calDate"/>

IDを使用しているため、JSは値を設定していますが、名前はフォームの投稿に使用されるものであるため、空です。

于 2013-07-03T18:06:41.260 に答える