我试图使用jquery提交表单。表格已正确提交,但在提交后不会清除表格。
这是我的jquery代码
<script type="text/javascript">
$(document).ready(function(){
$("#save").click(function(){
$("#myform").submit();
$("#myform")[0].reset();
});
});
</script>
这是我的表格
<form action="http://localhost/newsletter/index.php/email/send" method="post" accept-charset="utf-8" id="myform" name="myforms">
<p>
<label for="name">Email Address </label>
<input type="text" name="email" id="email" value="<?php echo set_value('email');?>">
<input type="button" value="Go" id="save"></p>
</form>
我只想在提交后清除表单,但它无法重置字段,数据已提交并仍保留在字段中。有任何建议吗?
答案 0 :(得分:8)
$("form").trigger("reset");
这肯定适用于jQuery。
答案 1 :(得分:0)
这是因为您使用CodeIgniter的函数set_value
。这将包含提交的电子邮件。您可能在控制器中使用表单验证库,在那里添加一些逻辑,以便您的视图“知道”验证成功时不应显示电子邮件。
答案 2 :(得分:0)
您是否尝试过使用$("#myform").get(0).reset();
代替$("#myform")[0].reset();
?
答案 3 :(得分:0)
public class SynonymAnalyzer extends Analyzer {
@Override
protected TokenStreamComponents createComponents(String s, Reader reader) {
SynonymMap synonymMap = null;
SynonymMap.Builder builder=null;
try {
addTo(builder,new String[]{"dns"},new String[]{"domain\u0000name\u0000system"});
addTo(builder,new String[]{"domain\u0000name\u0000system"},new String[]{"dns"});
synonymMap = builder.build();
}catch (Exception e) {
e.printStackTrace();
}
Tokenizer tokenizer = new StandardTokenizer(reader);
TokenStream filter = new SynonymGraphFilter(tokenizer, synonymMap, true);
return new TokenStreamComponents(tokenizer, filter);
}
private void addTo(SynonymMap.Builder builder, String[] from, String[] to) {
for (String input : from) {
for (String output : to) {
builder.add(new CharsRef(input), new CharsRef(output), false);
}
}
}
}
public static void main(String[] args) throws Exception {
String queryStr="domain name system";
QueryParser parser = new QueryParser("n",SynonymAnalyzer);
parser.setDefaultOperator(QueryParser.Operator.AND);
parser.setSplitOnWhitespace(false);
Query query=parser.parse(queryStr);
}