2013-07-03 36 views
0

我有一個頁面上有兩個表單。這應該不是問題,但它不起作用。我的jQuery看起來是這樣的:爲什麼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>'; 

當用戶點擊一個表項,提交後的值不會有問題的第一個函數處理。在日期選擇器的工作原理及形式被提交,但我得到了以下錯誤:從以下頁面calDate:未定義指數

$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>"; 
} 

這是爲什麼不工作?這是一個從定義明確的形式的簡單的帖子,並且據我所見,所有字段都被一致而準確地命名。

+0

var_dump()在您的php腳本中的$ _POST變量,以驗證它是否包含任何數據。 – Bjoern

+0

是的,這是問題。 $ _post是空的。然而,我設置的警報顯示,輸入字段確實包含我嘗試發送的信息。 – royjm

回答

2

輸入標籤中有無效的HTML。 (它缺少=標誌。)

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

應該是:

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

所以你的JS是因爲你正在使用的ID設定值,但是名字用於發佈表單的是什麼,這就是爲什麼它是空的。

+0

太棒了!謝謝你的新眼睛。在最後一個小時,我一直在瘋狂地想知道出了什麼問題! – royjm

+0

有時它是簡單的事情;) – chandlermania

+0

簡單的類型o沒有錯誤可以是最糟糕的!再次感謝! – royjm