2016-03-10 59 views
1

我在這個論壇上徹底地嘗試了很多方法,但是我無法解決我的問題。

所以這裏的問題。我無法從表單中返回我的$_POST值,但javascript的document.getElementById().value可以捕獲表單值。

這裏是我的表單代碼:

<form action="#" method="post" enctype="text/plain"> 
    <input id="input_date" name="input_date" class="datepicker" placeholder="Choose date" type="text"/> 
    <input id="submit" name="submit" type="button" value="Submit here" onclick="Submit_date()"/> 
</form> 

這是我的PHP代碼在同一個文件:

$tanggal = date('yyyy-mm-dd', strtotime($_POST['input_date'])); 

這是我的javascript代碼也是在同一個文件:

var tanggalan = document.getElementById("input_date").value; 
confirm("Date1: " + tanggalan + 
"\n Date2: " + <?php echo json_encode($_POST['input_date'])?> + 
"\n Date3: " + <?php echo json_encode($tanggal)?>); 
例如,

,表格編寫爲"2 March, 2016"Date1正好返回iw螞蟻,但Date2返回"null"Date3返回"70707070-0101-0101".

我做錯了什麼?

+1

'$ _POST'你將如何獲得值,直到你提交表單?刪除'action ='#''和'enctype =「text/plain」'。並改變按鈕類型以提交'type =「按鈕」'到這個'type =「submit」'。 – Noman

+0

我看不到定義的Submit_date()函數,除非表單被提交$ _POST爲空。無論是提交按鈕需要點擊$ _POST不是空的或JS功能需要提交表單自動提交頁面加載 –

回答

0
"\n Date2: " + <?php echo json_encode($_POST['tanggal'])?> 

Date2只是因爲你調用的$ _POST變量不存在。

$tanggal是一個變量而不是你在這裏

$tanggal = date('yyyy-mm-dd', strtotime($_POST['input_date'])); 

分配使它$tanggal = $_POST['tanggal'] = date('yyyy-mm-dd', strtotime($_POST['input_date']));,使其工作$ _ POST變量。

+0

yup抱歉,對於錯字,它應該是$ _POST ['input_date'],但仍然返回'null ' –

+0

在獲取它的值之前,確保變量聲明存在。還有,你是否嘗試過諾曼在你的文章中評論過的內容?你有沒有把'type ='按鈕'改成'type ='submit''? – rmondesilva

0

刪除enctype =「text/plain」,並將動作添加到表單中,以幫助您在提交表單時設置$ _POST。

此外,使用在PHP代碼下列操作以避免返回 「70707070-0101-0101」

$ tanggal =日期( 'Y-M-d',的strtotime($ _ POST [ 'input_date']));

+0

@Sairam Salim: - 試試我編輯的答案,讓我知道結果。 – sravs