gpt4 book ai didi

javascript - 表单提交空值。我该如何防止这种情况?

转载 作者:行者123 更新时间:2023-11-28 10:48:19 25 4
gpt4 key购买 nike

我的网站的某个表单遇到了问题。该表单应该更新我网站的一些变量,以便它们更改为新的输入,而不是仅仅向数据库添加更多变量。

问题是,即使某些输入区域为空,我希望表单也能够通过,但我不希望将空值放在先前值的位置。

例如,我有一个按钮名称“apendix”。我只想编辑那个,所以我只在相应的输入区域键入,因此我只更新那个。但是,一旦我点击提交,所有输入区域都会被提交,并且空白区域将取代它们以前的变量。我不想要这个。我只想更新值为 != '' 或 null 的表单。

这是我的代码:

<script>
function validate(){
var formId = document.getElementById("configForm");
var allInputs = formId.getElementsByTagName("input");
var input, i;

for (i=0; input = allInputs[i]; i++){
if (input.value == null || input.value == ""){
input.setAttribute("name", "");
}
}
} </script>

<form method="post" action="" id="configForm" onsubmit="validate()">
<label for="home">Home:</label>
<br>
<input type="text" id="home" name="home">
<br>
<label for="apendix">Apêndice:</label>
<br>
<input type="text" name="apendix">
<br>
<label for="about">Sobre:</label>
<br>
<input type="text" name="sobre">
<br>
<label for="contato">Contato:</label>
<br>
<input type="text" name="contato">
<br><br>
<input type="submit" value="Carregar" name="submit"> </form>

重要提示:我不希望任何输入区域是强制性的。感谢您提前抽出时间。

(另外,我还不太了解 jQuery,所以最好在 javaScript 中留下任何响应,如果这是可行的方法的话,如果可能的话。谢谢。)

更新

这是 MY CGI 中的输出:

首页测试1

附录测试2

sobre Test3-next_is_blank

联系

提交

卡雷加

Here is a print, if it makes things clearer.可以看出,正在发布空值。我不想要这个,仅此而已。做什么?另外,由于某种原因,提交后屏幕会提示“未定义”。

更新2

发生的情况是我的网站从我的 MySQL 数据库中进行选择。数据库中的值将根据表单中获取的 $_POST 值进行相应更新。为了解决这个问题,我相信,所需要的只是如果表单中的输入值留空,则 $_POST 不被更新,但我不知道该怎么做。

    $home = $_POST["home"];
$apendix = $_POST["apendix"];
$sobre = $_POST["sobre"];
$contato = $_POST ["contato"];

$query = "UPDATE form SET
home= '$home',
apendix= '$apendix',
sobre= '$sobre',
contato= '$contato'
WHERE id='1'";

这就是我的(简化的)数据库查询。如果留空,如何防止 $_POST 被更新?

最佳答案

您是否使用过 Fiddler(网络调试代理)之类的工具来查看这些值是否实际上已发布?请参阅https://jsfiddle.net/mmwn1L5g/如何仅发布选定的值?您确定您的服务器端代码正确并且没有清除其他值吗?

尝试发布到以下操作以查看您的 POST 值并为我们发布它们。

<form method="post" action="http://www.htmlcodetutorial.com/cgi-bin/mycgi.pl" id="configForm" onsubmit="alert(typeof validate);validate()" target="_blank">

关于javascript - 表单提交空值。我该如何防止这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39049748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com