0

我是 AJAX/javascript 的新手,我正在开发 jsp。我正在尝试使用 JavaScript 按钮提交在文本区域中输入的文本。这是相关部分:对于第一个提交按钮,它工作正常,但是当发布时,我得到一个简单的页面而不是保留EditText.jsp的内容,我不知道为什么?第二个按钮是我试图用我自己的方法替换getSomethingWithAjax方法以输入大量字符。 似乎 POST 对要提交的字符数没有限制

   function submitText()
   {
      var value =$("input[name=text]").val();
      jQuery.ajax({type:"POST",url:"EditText.jsp"})
   }
 </script>

 <form method="POST" class="example" action="/jsp/EditText.jsp" id=form2>
 <input type=hidden name=filepath value="<%=filename%>">
 <input type=hidden name=textarea value=true>

 <!--text area part here-->
 <!--first submit button-->
 <input type=submit name=submit value="Save Changes" onClick="if(runOnSubmit()) 

 {getSomethingWithAjax('EditText.jsp'+getAllFormElementsAndMakeIntoURI(true

 ),'','hereIsTheMainHeaderSpan',false,false);}">
 <!--the second button that I am trying to make-->
 <input type="button" name="submit" value="Save Changes" onClick="submitText()">

请让我知道您的建议。如果您想查看整个代码,请单击链接: https ://stackoverflow.com/questions/13828063/jsphow-to-replace-the-button-below-to-make-execute-the-request 谢谢,

4

1 回答 1

0

首先,你试图这样做的方式是可怕的。

关键是我们不知道您的某些功能在做什么。但是,如果它更改了您尝试发布到的 servlet 方法的签名,那么您可能会得到一个空响应。

只需将一个函数绑定到表单的提交事件:

<script type="text/javascript">
    $('#form2').submit(function(){
        $.ajax({
            "type": "POST",
            "url": "EditText.jsp",
            "data": $('#form2').serialize(),
            "success": function(){
                //callback function
            }
        });
    }
</script>

<form method="POST" class="example" action="/jsp/EditText.jsp" id=form2>
    <input type=hidden name=filepath value="<%=filename%>"/>
    <input type=hidden name=textarea value=true />  
    <input type=submit name=submit value="Save Changes">
    <!--the second button that I am trying to make-->
    <input type="button" name="submit" value="Save Changes">
于 2012-12-12T17:30:05.490 回答