2011-09-22 40 views
0

我有一個表單正在驗證使用jQuery驗證,然後提交給第三方訂閱站點。使用.getJSON提交到另一個站點後提交表單的問題

我正在嘗試將提交發布到其他地方。

這裏是我的形式:

<form class="" action="http://www.fakelink.com/forms/userSubmit.jsp" method="post" id="providerDemoForm" accept-charset="UTF-8">  
<fieldset> 
    <ul class="undecorated group"> 
    <li> 
     <label for="fld_1_fn">First Name*</label> 
     <input type="text" name="First Name" id="fld_1_fn" class="required" onFocus="clearMsg();" /> 
    </li> 
</fieldet> 
</form> 

這裏是我的驗證腳本:如果我沒有這樣的getJSON部分(表單提交的動作URL)

<script type="text/javascript"> 

function postCMFields() { 
    $.getJSON(
    "http://sample.createsend.com/x/x/x/fmill/?callback=?", 
    $('#providerDemoForm').serialize() 
    ); 
} 

$(document).ready(function() { 
    $("#providerDemoForm")[0].reset(); 

    $("#providerDemoForm").validate({ 
    errorClass: "fieldWithErrors", 
    validClass: "valid", 
    highlight: function(element, errorClass, validClass) { 
    $(element).parent("li").addClass(errorClass); 
    }, 
    unhighlight: function(element, errorClass, validClass) { 
    $(element).parent("li").removeClass(errorClass); 
    }, 
    errorContainer: "#formErrorMsg", 
    errorLabelContainer: "#messageBox", 
    wrapper: "li", debug:false,    

    submitHandler: function(form) { 
    $('#formErrorMsg').hide(); 

    postCMFields();   

    form.submit(); 

    }, 
    invalidHandler: function(form, validator) { 
    $('#formErrorMsg').show(); 
    } 
    }); 
}); 
</script> 

一切提交。如果我添加了將JSON內容發佈到campaignmonitor網址的功能,但它不起作用。此外,如果我註釋掉「form.submit()」,數據將被髮布到campaignmonitor。

有什麼我失蹤了嗎?謝謝!

回答

1

我不確定爲什麼我的代碼不工作,但我認爲這是因爲我的MIME類型設置不正確。我能得到的東西通過更新我的postCMFields功能工作使用.ajax

var cmdata = $('#providerDemoForm').serialize(); 

$.ajax({ 
    type: "GET", 
    data: cmdata, 
    url: "http://fake.createsend.com/x/x/x/fmill/?callback=?", 
    async: false, 
    beforeSend: function(x) { 
     if(x && x.overrideMimeType) { 
     x.overrideMimeType("application/j-son;charset=UTF-8"); 
     } 
    }, 
    dataType: "json", 
    success: function(data){    
     form.submit(); 
    } 
}); 
0

該URL似乎是虛構的。 http://sample.createsend.com/x/x/x/fmill/?callback=?看起來像一個將變量綁定到的get URL。

+0

我以爲OP拿出真正的鏈接... –

+0

是啊,我只是用一個假的這個職位。 –

+0

輸入字段名稱包含空格,可以檢查該空格是否合法? –