PHP Javascript在提交后保持价值

时间:2014-02-15 20:14:22

标签: javascript php jquery

如何在提交后将值或数据保留在POST输入文本字段中?例如,如果我想向用户显示错误,但是将他的书面文本保留在输入文本字段中?这是我的javascript:

function myFunction()
{
var table = document.getElementById("produkter_rows");
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
cell1.innerHTML = '<td><input style="width:450px;" class="text-input" type="text" name="beskrivelse_ny[]" value=""></td>';
cell2.innerHTML = '<td><input style="width:60px;" class="text-input" type="text" name="enhed_ny[]" value=""></td>';
cell3.innerHTML = '<td><input style="width:30px;" class="text-input" type="text" name="stk_ny[]" value=""></td>';
cell4.innerHTML = '<td><input style="width:205px;" class="text-input" type="text" name="vejl_eks_moms_ny[]" value=""></td>';
cell5.innerHTML = '<td><a href="#" onclick="removeRow(this)" id="addNew" title="Slet produkt"><img src="images/icons/slet.gif" width="16" alt="Slet" /></a></td>';
}

1 个答案:

答案 0 :(得分:1)

这应该用PHP而不是JavaScript来处理。值在问题PHP MySQL Delete function in while loop中从数据库输出。现在检测用户是否已提交相同字段的值并输出该值。

如果您的数据库列和用户提交的字段的名称完全映射,您可以执行以下操作:

$data = isset($_POST['data']) ? (array)$_POST['data'] : array();

while($mat = $materialer_query->fetch_object()) {
    // true when the user has submitted data for the current object
    if (array_key_exists($mat->id, $data)) {
        foreach ($data as $k => $v) {
            if (property_exists($mat, $k)) {
                // replace the database value with that submitted by the user
                $mat->$k = $v;
            }
        }
    }

    // ... the rest of your code to output the table row
}