2011-06-24 1 views
1

は、私はスタイルのために、この<span>ベースのボタンを使用しています。このフォームボタンがtype = submitを使用してレンダリングされない場合、jQueryフォームを使用してサブミットをトリガーする方法はありますか?

<form id="posts_form"> 
    <input type="file" value="" name="picture" > 

    <span class="picture_js fc-button fc-button-prev fc-state-default fc-corner-left fc-corner-right"> 
     <span class="fc-button-inner"> 
      <span class="fc-button-content save_button">Share</span> 
      <span class="fc-button-effect"> 
       <span></span> 
      </span> 
     </span> 
    </span> 
</form> 

を考えます。

私は何をしようとしていること<span>ボタンをクリックイベントをバインドしないと送信関数を発射、のようなものです:

$('.picture_js').click(function(e){ 
    e.preventDefault(); 
    pictureUpload(); 
    return false; 
}); 

function pictureUpload() { 

     var options = { url: 'chat/upload' } 

    $('#posts_form').ajaxForm(options); 
} 

しかし、ボタンをクリックすると応答がない(コンソール上のエラーいずれか) - どのようにこの作品を作るための提案?

+0

を、これは、HTMLの全体のでしょうか? – iforce2d

+0

申し訳ありません@ iforce2d - コードを修正してフォームにIDを追加しました。 – pepe

答えて

1

Jquery form plugin file uploadのように、ファイルのアップロードにはbeforeSubmitsuccessの両方のオプションを組み込んで実装する必要があります。

このお試しください:私はあなたのhtml内の任意の「posts_form」要素が表示されない

function pictureUpload() { 

    var options = { 
     url: 'chat/upload', 
     success: function() {}, 
     beforeSubmit: function() {} 
    } 

    $('#posts_form').ajaxForm(options); 
} 
関連する問題