2011-08-21 47 views
0

我有一个表单,用户在按下按钮时输入一个单词,我希望它将单词(使用jquery脚本)转换为相同的字段。 只有在完成填充字段后,它才会继续并提交翻译的单词。如何仅在jquery完成更新字段后提交

一切都在工作,只是它会在翻译后立即提交,导致提交原始单词而不是翻译后的单词。 原始页面显示该单词已被翻译。

请帮助如何使它提交后,单词已被翻译成文本字段。 ? 我应该使用延迟吗?如果是的话如何? 还是有一个oncomplete,“onpopulate”或类似的东西?

这里是脚本:

<script type="text/javascript">  
$(function transle() { 
    $('#transbox').sundayMorningReset(); 
    $('#transbox input[type=submit]').click(function(evt) { 
     $.sundayMorning(
      $('#transbox input[type=text]').val(), 
      { source:'', destination:'ZH', menuLeft:evt.pageX, menuTop:evt.pageY}, 
       function(response) { 
        $('#transbox input[type=text]').val(response.translation);      
       } 
     ); 

    });    
}); 

</script> 

和形式:

<table id="transbox" width="30px" border="0" cellspacing="0" cellpadding="0"> 
    <form action="custom-page" method="get" name="form1" target="_blank" id="form1" > 
     <tr> 
      <td><input id="q" name="q" type="text" class="search_input" value="Evening dress" /></td> 
      <td><input type="submit" /></td> 
     </tr> 
    </form> 
</table> 

还有另一个JS呼吁剧本,但我不知道它需要的问题。

谢谢。

回答

1

可以使用的type="submit"和填充表单

function(response) { 
     $('#transbox input[type=text]').val(response.translation); 
     document.forms.form1.submit(); 
} 

<input type="button" /> 
+0

试过的通话submit事件之后type="button"相反,问题不提交。 –

+0

它应该工作,检查这个[例子](http://jsfiddle.net/926HC/4/)。 –

+0

正在使用的js是:http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js 也许这是原因? –

相关问题