2015-08-21 35 views
0

我有一個Ajax表單,只要用戶選擇圖像就需要提交。問題是表單沒有提交。請任何指導可以理解在變更時提交Ajaxform

--The形式---

<form id="bgimageform" method="post" enctype="multipart/form-data" action="process.php"> 
    <div class="uploadFile timelineUploadBG"> 
     <input type="hidden" name = "bkg" value = "1"/> 
     <input type="file" name="photoimg" id="bgphotoimg" class="custom-file-input"> 

    </div> 

</form> 

--- JS的代碼---

<script src="js/jquery-1.7.1.min.js"></script> 
<script src="js/jquery.form.js"></script> 
<script src="/js/jquery-ui.min.js"></script> 
<script src="js/jquery.wallform.js"></script> 
<script> 
$(document).ready(function() { 

    /* Uploading Profile BackGround Image */ 
    $('body').on('change','#bgphotoimg', function() { 

    $("#bgimageform").ajaxForm({target:'#timelineBackground'}).submit(); 

    }); 
}); 
</script> 
+0

你有沒有考慮使用Dropzone.js?默認情況下,一旦項目被添加,它將'提交'。你也可以拖放圖片 –

+0

不,我沒有,請你有一個鏈接,我可以找到它嗎? –

+0

搜索dropzone.js應找到它,但無論如何:http://www.dropzonejs.com/ –

回答

0

你是對的,那第一次嘗試的路要走。

反正,我已經運行了一些測試,看起來如果你這樣做,它的工作原理。

$('body').on('change','#bgphotoimg', function() { 
    alert("It should have submitted."); 
}); 

這是一個演示它的小提琴。 http://jsfiddle.net/gt9e160f/

所以我不得不指出你的提交方法,因爲改變肯定會被調用。

我以前從未使用過jquery.form.js,但是從他們的文檔,我拉着這樣的:

$(function(){ 

    //bind the form's submit to ajaxForm 
    $("body").on('submit', '#bgimageform', function(e){ 
     $(this).ajaxForm({target:'#timelineBackground'}); 
     e.preventDefault(); 
     return false; 
    }); 

    /* Uploading Profile BackGround Image */ 
    $('body').on('change','#bgphotoimg', function() { 
     //submit the form 
     $("#bgimageform").submit(); 
    }); 
}); 
+0

仍然沒有運氣掛逗號.. :(。 –

+0

警告函數的工作原理,但提交表單是問題。如果我把這個提醒函數放在這一行之後, $('#bgimageform')。ajaxForm({target:'#timelineBackground'})。submit ();它不工作,有關該線的奇怪... –

+0

多一個編輯,希望這可以工作,否則我的想法;) –

0

試試這個

$("body").on('change','input#bgphotoimg', function() { 
    $('#bgimageform').submit(AjaxCall); 
}); 
function AjaxCall(){ 
    // ajax call here 
    $.ajax({ 
    type: "POST", 
    url: "url", 
    data: {}, 
    success: function(data) { 
     // code here 
     console.log(data); 
    } 
    }); 
    return false; 
}