1

私はそれを試してみるとうまく機能するフォームを持っています(もちろん正しいアドレスで)。

私のサイトでそれを使用すると、fancybox内では機能しません。何も起こりません(コンソールでもエラーは発生しません)。

関連するコードは次のとおりです。

<a class="fancybox" href="#inline1" id="link_consultar">
  Consultar
</a>
<div style="display: none">
  <div id="inline1">
    Producto: {$product->
    name|escape:'htmlall':'UTF-8'}
    <br>
    <br>
    <form id="myForm" action="http://danielvi.com/send_mail.php" method="post">
      Nombre: 
      <input type="text" name="firstname">
      <br>
      <br>
      Consulta:
      <br>
      <textarea rows="4" cols="50">
      </textarea>
      <br>
      <br>
      <input type="submit" value="Enviar Consulta" />

    </form>
  </div>
</div>

JS:

$(document).ready(function() {
    $('#myForm').submit(function(){
        alert("submitted");
    });
});

私も試しました:

$(document).ready(function() {
    $("#myForm").on("submit", function(event){
        alert("submitted");
    });        
});

私はこのようなフォームプラグインを含めました:

<script src="http://malsup.github.com/jquery.form.js"></script>

成功しなかった場合、最終的な目標はAJAXによってフォームを送信することです。これは、デバッグするための単純化された例です。

私も理解していないのは、すべてのjsを削除しても、アクションページに移動しないということです。

ここで実際の例を見ることができます(consultaをクリックしたとき)。

4

4 に答える 4

3

問題はライブサイトに表示されます。ソースコードを調べると、別のフォーム内にフォームを追加していることがわかります

<form id="buy_block"  action="http://danielvi.com/index.php?controller=cart" method="post">
    [...]
    <form id="myForm" action="http://danielvi.com/send_mail.php" method="post">
         [...]
    </form>
</form>

これにより、使用している2番目のフォームが無効になります。それが何もしていない理由です。それ以外は、コードは有効です。

于 2012-12-21T10:18:21.527 に答える
1

ライブサイトでは、の<form>要素が欠落しているようです#fancybox-content

于 2012-12-21T10:14:09.237 に答える
1

form#buy_block内に無効な連絡フォームがあります。全体<div id="inline1">を外側に移動してみてください<form id="buy_block

于 2012-12-21T10:16:46.593 に答える
0
$("input[type='submit']").click(function(){
    $.ajax: {
        type     : "POST",
        cache    : false,
        url      : "http://danielvi.com/send_mail.php",
        success: function(data) {
            $.fancybox({
                'width': 400,
                'height': 400,
                'enableEscapeButton' : false,
                'overlayShow' : true,
                'overlayOpacity' : 0,
                'hideOnOverlayClick' : false,
                'content' : data
            });
        }
    }
});
于 2012-12-21T10:19:34.433 に答える