2017-08-20 41 views
-3

我想要得到的JavaScript值到我的HTML的輸入值,並將其插入到用戶數據庫後點擊提交怎樣的JavaScript值插入到HTML

<script> 
    var currentDate = new Date(); 

    if (currentDate.getDay() == 5) { 
     var numberOfDaysToAdd = 4; //Adding 4 to skip sat. & sun. if Friday 
    } else { 
     var numberOfDaysToAdd = 2; //Adding 2 days if not Friday 
    } 

    currentDate.setDate(currentDate.getDate() + numberOfDaysToAdd); 
    var dd = currentDate.getDate(); 
    var mm = currentDate.getMonth() + 1; 
    var y = currentDate.getFullYear(); 
    var someFormattedDate = y + '-' + mm + '-' + dd; 

    document.getElementById("display").innerHTML = someFormattedDate; 

</script> 

<?php 

    echo $_GET['someFormattedDate']; 

    ?> 
    <input type="text" class="w8em format-y-m-d highlight-days-67 range-low-today" name="due_date" id="sd" maxlength="10" value="<?php echo " someFormattedDate " style="border: 3px double #CCCCCC; " disabled/> 
+0

必須添加表單標籤或使用XHR –

+1

'的getElementById( 「顯示」)'應該是'的getElementById( 「SD」)' –

+0

另外輸入的沒有'的innerHTML ',他們有一個'價值'屬性 –

回答

0

由於您輸入的ID是SD,

document.getElementById("sd").value = someFormattedDate; 

注:與殘疾人屬性的元素不會被提交,使提交之前。

全碼:

<?php 
    echo $_GET['due_date']; 
    ?> 

    <form name="myform" id="myform" method="GET"> 
    <input type="text" class="w8em format-y-m-d highlight-days-67 range-low-today" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC; " readonly/> 
    <input type="submit" name="btn_submit" value="Submit"> 
</form> 

<script> 
    var currentDate = new Date(); 
    if (currentDate.getDay() == 5) { 
     var numberOfDaysToAdd = 4; //Adding 4 to skip sat. & sun. if Friday 
    } else { 
     var numberOfDaysToAdd = 2; //Adding 2 days if not Friday 
    } 
    currentDate.setDate(currentDate.getDate() + numberOfDaysToAdd); 
    var dd = currentDate.getDate(); 
    var mm = currentDate.getMonth() + 1; 
    var y = currentDate.getFullYear(); 
    var someFormattedDate = y + '-' + mm + '-' + dd; 

    document.getElementById("sd").value = someFormattedDate; 

</script> 
+0

謝謝你現在正在工作,因爲我的腳本是在窗體內部,這就是爲什麼它不工作,但是當我看到你的代碼腳本超出形式,現在我得到的價值,並顯示它一個問題,爲什麼它是未定義的指數:due_date後,我提交,雖然這種輸入類型有一個值,謝謝! – Liza

+0

這是因爲,當加載窗體第一次,形成未提交, 可以檢查表單是否提交與否或者簡單地檢查isset功能,例如 <?PHP 如果(isset($ _ GET [ 'due_date'])) { echo $ _GET ['due_date']; } ?> – Onx

0

首先,將JavaScript代碼之後您要使用的輸入。這種方式在代碼執行時在頁面上存在輸入。

二,使用實際的id的輸入。

三,設置.value屬性。

四,把輸入放在表單中。

五,不要禁用輸入。

事情是這樣的:

<form> 
    <input type="text" class="w8em format-y-m-d highlight-days-67 range-low-today" name="due_date" id="sd" maxlength="10" style="border: 3px double #CCCCCC;" disabled/> 
    <input type="submit" value="Submit" /> 
</form> 
<script> 
    // The rest of your JavaScript code, formatting your date value 

    document.getElementById("sd").value= someFormattedDate; 
</script> 

除非另有說明,本<form>將默認點擊提交按鈕後提交GET請求的URL。

除此之外,我不清楚你在這裏試圖用PHP代碼做什麼。爲什麼你要輸出一個尚未提交的值,或輸出一個文字字符串,或者你正在嘗試的任何東西。

+0

謝謝你的努力它現在正在工作:) – Liza

0
<script> 
    var currentDate = new Date(); 

    if (currentDate.getDay() == 5) { 
     var numberOfDaysToAdd = 4; //Adding 4 to skip sat. & sun. if Friday 
    } else { 
     var numberOfDaysToAdd = 2; //Adding 2 days if not Friday 
    } 

    currentDate.setDate(currentDate.getDate() + numberOfDaysToAdd); 
    var dd = currentDate.getDate(); 
    var mm = currentDate.getMonth() + 1; 
    var y = currentDate.getFullYear(); 
    var someFormattedDate = y + '-' + mm + '-' + dd; 

    document.getElementById("sd").innerHTML = someFormattedDate; 

</script> 

描述: - 你是綁定數據與錯誤的元素。