2009-08-28 3 views
0

私は小さなウィンドウjqmodalで開くコメントウィンドウを持っています。私は$ .ajaxを使用してフォームを送信し、小さなモーダルウィンドウに「成功」​​を表示しようとしています。 Firefoxを除くすべてのブラウザでは、フォームを送信するとモーダルが閉じます。jqmodalウィンドウがFF以外のすべてのブラウザでフォーム提出時に閉じる

<script type="text/javascript"> 
$().ready(function() { 

$('.reportForm').submit(function(){ 
    if (document.rForm.comment.value != "") { 
     $('.reportForm').hide(); 

     $.ajax({ 
      type: "POST", 
      url: "<?php echo $_SERVER["PHP_SELF"]; ?>?c=<?php echo $c; ?>", 
      cache: false, 
      data: "comment=" + document.rForm.comment.value, 
      success: function(html){ 
         $("#results").append(<?php echo get_option('ddrc_success'); ?> + " "); 
        } 

     }); 
     return false;   
    } 

}); 
}); 

FS

+0

ないアイデアを誰が? –

答えて

0

私は100%確実ではないですが、問題は、このラインで次のようになります。私はこのコードはクロスブラウザではないと思います

if (document.rForm.comment.value != "") { 

。あなたはsがイベントを提出reportForm」に結合されているので、.reportFormあなたはこの文脈で

if ($(this).find("[name='comment']").val()) { 

$(this)に置き換えることができますでrFormと仮定すると、$('.reportForm')を参照します。 find("[name='comment']")は、属性nameがcommentである子要素を探します。 val()は、要素の値を返します。

また、コメントフィールドに値がない場合は、フォームを通常の方法で送信します。

あなたはあなたの方法の最後の行であることを

return false; 

を移動することを検討すべきです。

全体の例では、再加工:

<script type="text/javascript"> 
    $(function() { 
     $('.reportForm').submit(function() { 
      if ($(this).find("[name='comment']").val()) { 
       $(this).hide(); 

       $.ajax({ 
        type: "POST", 
        url: "<?php echo $_SERVER["PHP_SELF"]; ?>?c=<?php echo $c; ?>", 
        cache: false, 
        data: "comment=" + $(this).find("[name='comment']").val(), 
        success: function(html) { 
         $("#results").append(<?php echo get_option('ddrc_success'); ?> + " "); 
        } 

       }); 
      } else { 
       alert("Please, fill the comment field"); 
      } 
      return false;     
     }); 
    }); 
</script> 
+0

ご回答いただきありがとうございますが、他のブラウザではまだ動作していません。しかし、まだFFで動作します。 "return false;"モーダルウィンドウを閉じないようにするためにそこにあります。 http://jorenrapini.com/blog/css/jquery-validation-contact-form-with-modal-slide-in-transition 他のアイデア: 私が使用したコードは、これに基づいていますか?ありがとう。 –

関連する問題