2017-07-01 32 views
-1

我想約會什麼時候提交到我的數據庫。這不起作用,沒有錯誤,只是沒有放入數據庫。隱藏的輸入不會傳遞到數據庫

我在身體...

<input type="hidden" id="thedate" name="DateModified"> 
<script type="text/javascript"> 
function getDate() 
{  
var date = new Date(); 
var day = date.getDate(); 
var month = date.getMonth() + 1; 
var year = date.getFullYear(); 

if (month < 10) month = "0" + month; 
if (day < 10) day = "0" + day; 

var today = month + "/" + day+ "/" + year; 

document.getElementById('thedate').value = today; 
} 
</script> 

然後,在頁面的</body>我面前底部...

<script type="text/javascript"> 
GetDate(); 
</script> 

形式是...

<form method="POST" action="blabla.asp"> 

我的表單中的其他內容都會轉到數據庫,而不是日期。

+0

這有幾個問題。首先,你不尊重時區差異,這意味着你可能會有人從未來/過去插入。不知道這對你是否重要,但我建議一個簡單的Date()。toISOString(),它保留了你可能需要的所有信息。另一件事是你可以添加這個函數到你的提交按鈕,只要讓它傳遞參數以及一個ajax調用,而不是'action =' – JonLuca

+0

哪個rdms你在用?另外,你需要分享你的sql查詢,並且分享你完整的'form'代碼 – Ravi

+2

Javascript是區分大小寫的,所以你在調用GetDate()時聲明函數爲getDate(); 這就是爲什麼它不被稱爲 –

回答

0

嘗試以下操作:

  • 變化GETDATE()來GETDATE()
  • 確保你是在服務器,而不是 「thedate」 字段讀 「DateModified」。
  • 我還建議你在服務器上取得時間戳(UTC)而不是客戶端的瀏覽器。任何人都可以使用郵遞員等工具發佈到網址,併發送僞造時間戳。
0

只是改變你的底部腳本看起來像下面的代碼。

<script type="text/javascript"> 
    GetDate(); // wrong 
    getDate(); // right 
</script> 
+0

謝謝瓦西,就是這樣。愚蠢的大小寫敏感! ! ! – Jim

+0

@Jim如果這個答案對你有幫助,你可能想要upvote或接受它。此外,請看下面的kebin的答案。他提前5分鐘回答了這個問題。 – jAC

相關問題