2017-04-24 21 views
2

所以即時嘗試是將POST輸入添加到Onclick function上的窗體。所以,當我通過Javascript檢查信息是否可以時,在通過Javascript form.submit()進行操作之前,我想添加更多信息,例如IdCrono。 什麼IM,現在做的是在Form.action = "myPhpFunction.php"通過動作添加GET變量所以這將是如何通過javascript爲表單添加值?

"myPhpFunction.php?key=1&IdCrono=1" 

反正加密鑰和IdCrono通過JavaScript中的POST?

我的代碼如下所示:

function GuardarMilestone(a) { 
 
    var id = a.id; 
 
    var idCrono = Math.floor(a.id/10); 
 
    alert(idCrono); 
 
    var form = document.getElementById("Form" + id); 
 
    if (id % 10 == 0) { 
 
    //alert("Resto 0"); 
 
    var date = form.elements["FechaInicio"]; 
 
    } else { 
 
    //alert("Resto 5"); 
 
    var date = form.elements["FechaFin"]; 
 
    } 
 
    if (date.value != "") { 
 
    form.action = "InteriorInternalFunciones.php?key=1&id=" + id; 
 
    form.target = "_self"; 
 
    form.submit(); 
 
    } else { 
 
    alert("Please fill in the date before saving"); 
 
    } 
 
}
<form method="POST" id="Form<?php echo $rstMilestones->fields['IdCronograma']; ?>0" action=""> 
 
    <input type="date" style="font-size: 9px; font-style: bold;" name="FechaInicio" value="<?php echo $strFaseInicioSinFormato;?>"> 
 
    <input type="hidden" name="IdCronograma" value="<?php echo $rstMilestones->fields['IdCronograma']; ?>"> 
 
    <a href="#botones" id="<?php echo $rstMilestones->fields['IdCronograma']; ?>0" onclick="GuardarMilestone(this)"><img src="images/PC_si.png" alt="Save"></a> 
 
    <a href="#botones" id="<?php echo $rstMilestones->fields['IdCronograma']; ?>0" onclick="EditarFechaCronograma(this)"><img src="images/PC_no.png" alt="cancel"></a> 
 
</form>

+2

爲'key,id'添加一個空值的兩個隱藏輸入,並給它們一個id(html屬性)。然後在提交之前,您可以在提交表單之前更新隱藏的輸入。 'document.getElementById(「IdCrono」)。value = id;' – JustOnUnderMillions

+1

你的表單有'POST',你正在創建'GET'就是故意的嗎? – RST

+0

@RST是它的故意,因爲我不知道我是否可以動態添加POST變量來發送,我不喜歡使用GET變量。這就是爲什麼我問是否有辦法做到這一點。 –

回答

1

也許這將幫助,只需添加此功能代碼:

function addFields(form, inputName, inputValue) { 
    // Create an <input> element 
    var input = document.createElement("input"); 
    input.type = "hidden"; 
    input.name = inputName; 
    input.value = inputValue; 
    form.appendChild(input); 
} 

和替換這一行:

form.action = "InteriorInternalFunciones.php?key=1&id=" + id; 

與此:

form.action = "InteriorInternalFunciones.php; 
addFields(form, "key", 1); 
addFields(form, "id", id); 

這將增加隱藏字段到你的代碼提交表單之前,一切將與POST方法來發送。

相關問題