0

フォームを投稿しようとしていますが、ページを変更したくありません。

SOには多くの方法が提案されていますが、どちらもうまくいきません。

jQuery の ajax または post API を使用できません。これは、シリアライズ中にエンコーディングが変更され、サーバーがページ ビューで破損した文字を表示するためです。

ユーザーが送信ボタンをクリックしたときにデータを投稿できるようにする方法を見つける必要があります。それを行う方法はありますか?

推奨される使用法ですが、機能しません:

$(document).ready(function(){
 $("#mySubmit").click( function (e) {
  $("#myGiswebForm").submit(function() {
   // Handle the submission
   return false;
  });        
 });   
});

以下の使用法では、デフォルトのクリック アクションは防止されますが、フォーム アクションは防止されません。

$(document).ready(function(){
  $("#mySubmit").click( function (e) {
    e.preventDefault();
    $("#myGiswebForm").submit();       
 });   
});

この使用法はフォームを投稿しますが、フォームのアクション ページにも移動しますが、これは望ましくありません。

$(document).ready(function(){
 $("#mySubmit").click( function (e) {
  $("#myGiswebForm").submit();       
 });   
});
4

2 に答える 2

1

ボタンのデフォルトのアクションを無効にすることができます

$(document).ready(function(){
  $("#mySubmit").click( function (e) {
    e.preventDefault();
    $("#myGiswebForm").submit();       
 });   
});

編集:xy_のハック

<form id="myGiswebForm" method="post" action="https://******/saveForm.asp" target="myiframe">
and add a 
<iframe style="display:none;" src="" name="myiframe"></iframe>
于 2013-08-21T13:20:04.357 に答える
0

私は最近、ほぼ同じ問題を抱えていました.jQueryコアライブラリは、あなたが指摘したように、役に立ちませんでした. jQuery Forms プラグインはおそらく必要なものです: http://malsup.com/jquery/form/

于 2013-08-21T13:21:59.670 に答える