0

我只有一个疑问:

我有一个表单,我在其中进行服务器端验证.. 我有带有验证的 np,但问题是:

在表单中,假设我输入了一些 9 个字段(而不是 10 个),它向我显示一个错误,说“缺少第 10 个字段”并且我在 9 个字段中输入的所有数据都必须重新输入..(有时它真的由于小错误,很难重新输入相同的数据)

因此,目标是认为无论之前在 textfield 或 textarea 或其他一些 html 元素中输入的数据,即使在服务器验证完成后,它也应该自动保存.. 这样用户就不需要再次重新输入..

我怎样才能做到这一点..我在谷歌尝试过,但不明白如何搜索这种情况,我还没有找到任何解决方案..

对不起我的英语不好.. 希望你 udnerstood 我的问题..

所以,有什么建议..?

4

2 回答 2

0

@Jim,这与您原来的问题中的情况相同。
(在有人指出这是一个不同的帐户之前,它是同一个人 - 长篇大论!)

当您在回发后将控件发送回浏览器时,PHP 不会保留控件的“状态”。

所以不是每次都发回以下内容......

<input type="text" id="mytext" name="mytext">

您需要发回最初作为控件的一部分输入的内容...

<input type="text" id="mytext" name="mytext"
   value="<?php echo $_POST['mytext']; ?>>

使用复选框和收音机(这是您最初的问题),您需要类似...

<input type="checkbox" id="mycheck" name="mycheck"
   value="<?php echo (isset($_POST['mycheck']) ? "checked" : ""); ?>>

当你谈论<textarea>控制时,你会做类似的事情......

<textarea id="mytext" name="mytext"><?php echo $_POST['mytext']; ?></textarea>

更新

当您将 HTML 构建到$echostring 变量中时(而不仅仅是直接标记 HTML),您需要将上述代码作为 string 的一部分

如果您在构建字符串期间echo执行命令,正在编辑的内容将立即发送到屏幕。然后,当您通过命令发送内容时,您会得到其他所有内容。echo$echoecho $echo;

所以,对于单行文本框,你会做......

$echo = '<input type="text" id="mytext" name="mytext" value="'. $_POST['mytext'] .'">';

对于一个复选框,你会做......

$echo = '<input type="checkbox" id="mycheck" name="mycheck" '. (isset($_POST['mycheck']) ? "checked" : "") .'>';

对于多行文本框,您会这样做....

$echo = '<textarea id="mytext" name="mytext">'. $_POST['mytext'] . '</textarea>';

因此,您会看到我们将控件的现有值作为您正在构建的字符串的一部分。

于 2012-10-24T09:24:15.517 回答
0

它需要是

<div id="ArticlesOrderForm" class="formGroup"> 
<legend>Articles Order Form</legend> 
<b><label for="article_keywords">Keywords/Titles<span class="reqd">*</span> : </label></b> 
<textarea rows="6" cols="50" id="article_keywords" name="article_keywords" ><?php echo $_POST["article_keywords"]; ?></textarea> 
<b><label for="article_keywordDensity">Keyword Density (Optional): </label></b> 
<textarea rows="6" cols="50" id="article_keywordDensity" name="article_keywordDensity" ></textarea>

但是为什么不使用 JavaScript 验证呢?

这个 jQuery 插件非常棒且易于使用:

http://docs.jquery.com/Plugins/Validation

您只需添加诸如 required 或 email 之类的类即可添加验证类型。

于 2012-10-24T11:50:07.780 回答