2012-03-01 69 views
0

我试图提交一个HTML格式的文本字段。目前,我的代码看起来是这样的:提交文本类型字段OnChange

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> 

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

+0

您是否获得在JavaScript控制台的任何错误或警告?如果是这样,你可以在这里发布吗? – octern 2012-03-02 00:48:00

+0

我不是octern。 – DigitalJedi805 2012-03-02 07:31:38

+0

不,我是octern。这就是为什么“ - octern”出现在我的评论结尾。 – octern 2012-03-02 16:59:32

回答

1

你的HTML可能是这样的:

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

Now使用jQuery:

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

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

+0

我会试一试并发回。谢谢。 – DigitalJedi805 2012-03-02 17:00:06

+0

给了这个旋转 - 没有产生任何结果。表格不提交。 – DigitalJedi805 2012-03-02 19:33:18

+0

你错了@ DigitalJedi805;仔细看看jsFiddle链接。把你的光标放在文本框中,然后出去。表格会尝试去动作 – 2012-03-02 19:50:57

0

我真的开始把这个javascript分解成一个单独的文件,并在文档准备好之后进行。我认为我见过人们说现在写内联JavaScript是一件坏事。

任何人有任何想法呢?

+0

那么我有一个submitForm方法应该这样做;但它实际上并没有发送表单。我将编辑上面的代码以显示它。 – DigitalJedi805 2012-03-02 07:29:46

2

试试这个:

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

的的onChange功能只有当你点击别处删除重点工程

+0

这就是意图琐事 - 我不希望每次用户点击一个键时提交;因为这会使两分钟的流程输入一个议程项目标题,例如“呼叫订单”;但是谢谢你的建议。 – DigitalJedi805 2012-03-02 16:59:50

1

尝试使用onBlur事件,而不是onChange

+0

感谢您的建议;如果上述不起作用,可能会尝试此操作。 – DigitalJedi805 2012-03-02 17:00:32

+0

试过这个 - 似乎没有工作。谢谢。 – DigitalJedi805 2012-03-02 19:32:53

+0

'Blur'动作是否引发? – 2012-03-02 22:35:14