0

私は AJAX/javascript が初めてで、jsp で開発しています。JavaScript ボタンを使用してテキスト領域に入力されたテキストを送信しようとしています。関連する部分は次のとおりです。最初の送信ボタンは正常に機能しましたが、投稿すると、EditText.jspのコンテンツを保持する代わりにプレーンページが表示されました。理由はわかりません。2つ目のボタンは、大量の文字を入力するために 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

まず第一に、あなたがやろうとしている方法は恐ろしいものです。

ポイントは、あなたの機能のいくつかが何をしているのかわからないということです。しかし、投稿しようとしているサーブレット メソッドの署名が変更されると、空の応答が返される可能性があります。

関数をフォームの送信イベントにバインドするだけです。

<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 に答える