表单提交后怎么样才能不清空文本框和下拉框的值呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表单提交后怎么样才能不清空文本框和下拉框的值呢?相关的知识,希望对你有一定的参考价值。
表单提交后怎么样才能不清空文本框和下拉框的值呢?
submit是直接提交数据给action中的程序处理的(非异步处理),submit之后当前网页就转到action的程序去了,直到action中的程序重新输出网页内容或者转向其他网页。你在submit按钮的onclick事件中不应该使用submit而是,Ajax的异步提交,类似下面的程序:
javascript code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function submit_realtime()
if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
else // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange = function()
//接收返回值得处理函数,
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
//在这里将Text area清空
documet.commentform.comment_message.value='';
xmlhttp.open("POST", "你的action处理程序", true); // true表示异步处理
xmlhttp.send();
xmlhttp.onreadystatechange=function()
if (xmlhttp.readyState==4 && xmlhttp.status==200)
document.getElementById("myDiv").innerhtml=xmlhttp.responseText;
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
参考技术A 表单大师有这个功能,何不参考下追问
现在文本框可以不清空了,下拉框还是不行
只是尝试播放框架,提交表单的值为空
【中文标题】只是尝试播放框架,提交表单的值为空【英文标题】:Just trying Play framework, the value from the submitted form is null 【发布时间】:2014-09-03 18:46:45 【问题描述】:我刚刚尝试了 Play 框架,并使用模板 play-java-intro 运行示例应用程序。
应用程序的索引页由一个“名称”文本框和一个提交按钮组成。如果我单击提交按钮,它将文本框的“名称”值存储到“人员”表中(数据库使用 H2)。但是,“名称”值未能发送到控制器。它在控制器中返回为空值。
模型: Person.java
@Entity
public class Person extends Model
@Id
public String id;
public String name;
视图: index.scala.html
@()
@main("Welcome to Play")
<script type='text/javascript' src='@routes.Assets.at("javascripts/index.js")'></script>
<ul id="persons"></ul>
<form method="POST" action="@routes.Application.addPerson()">
<input type="text" name="name" />
<button>Add Person</button>
</form>
控制器: Application.java
public class Application extends Controller
public static Result index()
return ok(index.render());
public static Result addPerson()
//The person.name is null here
Person person = Form.form(Person.class).bindFromRequest().get();
person.save();
return redirect(routes.Application.index());
...
在控制器中,当“添加人员”按钮被点击时,函数 addPerson 被调用。 person
对象从 Form.form(Person.class).bindFromRequest().get();
返回。问题是返回的person
对象中的name
属性为空。
有人知道代码有什么问题吗?
【问题讨论】:
您是否将Person
传递回视图?
我不太明白你的意思,代码还是原封不动的,我没有改变它们的任何部分。我在 Eclipse 中使用调试器检查过,Person.name
为空。
我过去只使用过 Scala 游戏,所以我在这里继续记忆。您是否尝试过输入的名称Person.name
?另外,你用的是什么版本的play? 2.x.x?
你输入的名字是什么意思?我正在使用最新版本的激活器(1.2.10)。所以我猜Play肯定是v2。
我刚刚查明原因,是Eclipse的自动构建搞乱了代码生成。
【参考方案1】:
刚刚发现这个answer。
事实证明,Eclipse 的自动构建会干扰字节码的生成。
这就是我收拾烂摊子的方法:
在 Eclipse 中,取消选中:项目 -> 自动构建 在项目文件夹的激活器控制台中,输入命令:clean 输入命令:编译 输入命令:运行【讨论】:
我正在使用 IntelliJ,但仍然面临这个问题!有什么可能的解决办法吗?以上是关于表单提交后怎么样才能不清空文本框和下拉框的值呢?的主要内容,如果未能解决你的问题,请参考以下文章