我的网站形式一直存在问题。该表单应该更新我网站的一些变量,因此它们会更改为新的输入,而不是仅仅向数据库添加更多。
问题是,即使某些输入区域为空,我希望表单能够通过,但我不希望将空值放在以前的值的位置。
例如,我有一个按钮名称“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中的输出:
home Test1
apendix Test2
sobre Test3-next_is_blank
contato
提交
Carregar
Here is a print, if it makes things clearer.可以看出,正在发布空值。我不想要这个,就是全部。做什么?此外,由于某种原因,屏幕提交后会提醒“未定义”。
更新2
我的网站SELECTS来自我的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更新?
答案 0 :(得分:0)
您是否使用了像Fiddler(Web调试代理)这样的工具来查看值实际上是否已被POST?请参阅https://jsfiddle.net/mmwn1L5g/如何仅选择所选的值?您确定您的服务器端代码是否正确并且没有清除其他值?
尝试发布以下操作以查看您的POST值并将其发布给我们。
<meta>
答案 1 :(得分:0)
//对不起。 //也许这对你有好处
<!DOCTYPE html>
<html>
<body>
<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 == ""){
//Disable tag null or ""
input.disabled = true;
}
}
} </script>
<form name="yourForm" id="configForm" action="" onsubmit="validate()" method="post">
<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>
</body>
</html>
答案 2 :(得分:-1)
这并不困难。您可以在HTML5中将“必需”归因于
library(tidyr)
read.table(text="fruits A B C
apple 9.8 21 62.2
bananas 12 11 58.3
pineapple 3.5 13 41.2
kiwi 6.4 36.5 38.1
strawberry 2.5 47.2 35.5", header=TRUE, stringsAsFactors=FALSE) -> df
gather(df, who, how_much, -fruits)
祝你好运。