提交文本类型字段OnChange

时间:2012-03-01 22:44:46

标签: php javascript html html-form html-form-post

我正在尝试在更改HTML中的文本字段时提交表单。目前,我的代码看起来像这样:

echo("<form name=\"editAgendaItem" . $this->Id . "\" id=\"editAgendaItem" . $this->Id . "\" method=\"post\" action=\"./?module=meetings&preload=edit&function=editAgendaItem&agendaitem=" . $this->Id . "\">\n");
echo("<table width=\"100%\" border=0>\n");
echo("<tr><td width=\"20px\">" . $this->Index . "</td><td><input type=\"text\" value=\"" . $this->Title . "\" name=\"agendaItemTitle" . $this->Id . "\" onChange=\"javascript:document.forms['editAgendaItem" . $this->Id . "'].submit();\" />");
echo("</td>\n");
...

评估为

<form name="editAgendaItem19" id="editAgendaItem19" method="post" action="./?module=meetings&preload=edit&function=editAgendaItem&agendaitem=19">
<table width="100%" border=0>
<tr><td width="20px">1</td><td><input type="text" value="" name="agendaItemTitle19" onChange="javascript:document.forms['editAgendaItem19'].submit()" /></td>
...

但更重要的是

<form name="editAgendaItem19" id="editAgendaItem19" method="post" action="...">
<input type="text" value="" name="agendaItemTitle19" onChange="javascript:document.forms['editAgendaItem19'].submit()" />
...
  • 最终由标签终止。我的问题是,在修改字段并放弃焦点时,表单不会提交。

提前感谢您的帮助。

编辑:

我也尝试在onChange事件中使用此方法而不是内联代码:

<script type="text/javascript">
function submitForm(FormName)
{
  document.forms[FormName].submit();
}
</script>

编辑:

建议使用以下代码:

<script>
$(document).ready(function(){
   $('#agendaItemTitle24').live('blur',function()
      $('#editAgendaItem24').submit();
   });
});​

</script>

在我脑海里,

<form name="editAgendaItem24" id="editAgendaItem24" method="post" action="...">
<input type="text" value="" name="agendaItemTitle24" id="agendaItemTitle24" />
</form>

在我的内容中。仍然没有骰子。

4 个答案:

答案 0 :(得分:2)

试试这个:

onkeyup="javascript:document.forms['editAgendaItem19'].submit()"

onChange函数仅在通过单击其他位置

移除焦点时才有效

答案 1 :(得分:1)

尝试使用onBlur事件代替onChange

答案 2 :(得分:1)

您的HTML可能是这样的:

<form name="myForm" id="myForm" method="post" action="...">
<input type="text" value="" name="myInput" id="myInput"/>  

现在使用jQuery:

<script type="text/javascript">
$(document).ready(function(){
   $('#myInput').live('blur',function(){
      $('#myForm').submit();
   });
});​
</script>

这是我的jsFiddle:http://jsfiddle.net/mtwLf/1/

答案 3 :(得分:0)

我真的要首先将javascript分解为一个单独的文件并在文档准备就绪之后进行。我想我已经看到人们说现在编写内联javascript是件坏事。

有人对此有任何想法吗?