this.form.submit();提交所有表格

时间:2014-05-27 02:14:07

标签: javascript php mysql forms

这可能是一个简单的答案,但我似乎无法理解这里的逻辑。

我在同一页面中有多个表单,我在大多数表单中都使用了这个结构:

<form name="" action="../charmodif/charinfo.php?charname=<?php echo $name ?>" method="post">
    <input onblur="this.form.submit();" type="text" name="actualxp" value="<?php echo $infochar['actualxp']; ?>">
<form>

我的php处理文件的主要部分:     $ charname = $ _GET [&#39; charname&#39;];

foreach (array_keys($_POST) as $field)
{
    mysqli_query($conn,"
    UPDATE `character`
    SET `" . $field . "`='" . $_POST[$field] . "'
    WHERE name='" . $charname . "';
    ");
}

我遇到的问题是它实际上似乎同时在页面中提交所有表单。这导致我的php函数同时为每个表单处理MySQL。

我在php动作中使用POST使用简单回显验证了这一点。

在我看来,页面越大,处理数据的时间就越长。它主要表现在性能上,因为它无论如何都能很好地运作。

我怎样才能让这个简单的表单仅为自己提交?有什么想法吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

更改最后一行:

<form name="" action="../charmodif/charinfo.php?charname=<?php echo $name ?>" method="post">
    <input onblur="this.form.submit();" type="text" name="actualxp" value="<?php echo $infochar['actualxp']; ?>">
</form>