在js中如何实现提交表单页面保留原来的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在js中如何实现提交表单页面保留原来的值相关的知识,希望对你有一定的参考价值。

提交表单页面保留原来的值 如果你是想保留输入框里的值不变的话哪你可以用ajax,它可以不刷新浏览器的情况下从服务器加载,传递数据。建议使用jQuery封装的函数。因为简单粗暴易用。具体请参考手册http://www.w3school@.com.cn/jquery/jquery_ref_ajax.asp 参考技术A 这个得从数据库中读了吧,比如你用name属性来做标志的,值是value,从数据库中读出来放在二维数组里str[][]
for(int i=0;i<str.length;i++)
var name=str[i][0];
var value=str[i][1];
var obj = document.getElementsByName(name).value=value;
等表单一提交,数据不就刷出来了追问

我们现在用的是Intra-mart框架,前台用的是html,后台用的是js一共两个文件。我提交表单后,直接交给js操作后台,然后返回前台,我做得思路是:在表单里面做一个隐藏域,但是我回前台页面是时候什么时候把隐藏域的值取出来,在付给各个控件。onload()时取隐藏区域的值时,他出现找不到隐藏区域的值,因为还没有执行到表单那个地方啊!请问有什么方法可以实现

追答

平时都用服务器语言的,对Intra-mart很不了解啊,可不可以不要onload的时候就取值呀?把取值的代码放在隐藏区域后面执行可以吗?你在研究研究,等等高人吧

参考技术B 仅用JS的话有点麻烦。表单提交的时候,把所有表单元素的值都传到Action中,转到页面的时候,再从Action中把所有的值取出来,依次赋到表单元素中。 参考技术C AJAX,要不就要使用服务器语言。

提交 PHP 后保留表单值

【中文标题】提交 PHP 后保留表单值【英文标题】:Keep form values after submit PHP 【发布时间】:2011-07-27 18:13:03 【问题描述】:

我忘了说还有下拉菜单,我想保留所选的值

我有一个带有复选框、单选按钮和一些文本字段的表单。我知道如何在表单提交后保留文本字段值,但我想在提交后保持单选按钮选择和复选框的选中状态。我将发布到同一页面。

【问题讨论】:

【参考方案1】:
<input type="text" name="nazev_projektu" id="nazev_projektu" class="inp" value="<?php if(isset($_POST['nazev_projektu'])) echo $_POST['nazev_projektu']; ?>" />

你可以用checked="checked"等做同样的事情。

<input type="checkbox" ... ="<?php if(isset($_POST['ThisRadioIsChecked'])) echo 'checked="checked"'; ?>" ... />

【讨论】:

不要将未经处理的数据吐到页面中。 XSS 并不漂亮。这也没有解决问题(关于单选按钮和复选框)。 安全性是解决方案的重要组成部分,它不是可选的额外内容。 是的,我明白你在说什么,但你基本上说,每个答案都应该是一个复杂的解决方案 => 解决所有问题。我不认为这总是正确的(至少我没有得到指导我完成整个过程的答案,同时告诉我一行一行地写什么)。是的,这里的安全很重要。但我只回答了他问的部分。您可以给他更复杂的答案(包括安全性和所有其他因素),而不是评论每个试图推动他解决问题的人。 有趣的是,目前这里的所有解决方案都是相同的。没关系,你显然对我有问题:) 不,并非所有解决方案都相同。你是唯一一个将数据直接从$_POST 吐到文档中的人。【参考方案2】:

要预先选中单选按钮和复选框,您需要将checked="checked" 属性添加到为要显示的每个控件生成的 HTML 中。

例如,如果您目前有这个:

<input type="checkbox" name="foo" value="bar" />

你想把它改成这样:

<input type="checkbox" name="foo" value="bar"
    <?php echo empty($_POST['foo']) ? '' : ' checked="checked" '; ?>
/>

更新:对于下拉菜单,您要更改:

<select name="foo">
  <option value="bar">Text</option>
</select>

对此,使用selected="selected"

<select name="foo">
  <option value="bar" 
    <?php if(isset($_POST['foo']) && $_POST['foo'] == 'bar') 
          echo ' selected="selected"';
    ?>
  >Text</option>
</select>

注意保持上面显示的两个“条”值同步(在循环中回显选项将有助于确保这一点)。

【讨论】:

您实际上不需要将值设置为“已检查”;只需设置属性。 您始终需要设置该值。属性 name= 和引号在 HTML 5 中是可选的,在 HTML 4 中是不推荐的。但在 XHTML 中它们是必需的。 @Jon:我忘了说还有下拉菜单,我想保留选择的值。你知道你会怎么做吗 没有人应该再使用 XHTML 了。只需输入 即可。我不知道有一个浏览器会在看到文档类型(任何文档类型)时进入标准模式,如果没有看到则进入怪异模式。甚至 IE6 也能识别 html5 文档类型。【参考方案3】:

使用与其他字段的文本框相同的范例。您只需要设置不同的 HTML 属性,而不是通过变量传递一些文本。

对于单选框和复选框,将 HTML 属性设置为“CHECKED”,它们将被选中。

【讨论】:

【参考方案4】:

你可以这样做:

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

【讨论】:

【参考方案5】:
<input type="checkbox" name="foo" value="foo" <?php if(isset($_POST['foo']))echo 'checked'; ?>"/>

【讨论】:

如果有一个选中的属性,那么它的值必须是checked。如果将其设置为 truefalse 则无效(并且将其设置为 false 将无法获得所需的行为)。

以上是关于在js中如何实现提交表单页面保留原来的值的主要内容,如果未能解决你的问题,请参考以下文章

在jsp中如何实现加一个动态下拉框选择年份,并在当前页面显示相应的月份值?

如果表单提交成功并保留在页面上,如何使用js进行重定向

jsp 如何实现提交表单 但不跳转到提交页面

如何在 form 表单提交后实现页面不跳转

在 PHP 中提交表单时如何保留输入字段中的值?

如何在form中调用js表单验证