2013-05-28 107 views
1

我有一個表單,我想將表單的一部分和一些html保存到我的數據庫中。將表單的html值保存到數據庫時值爲空

<div class="contract"> 

    <label for="Company_PostCode">Postcode</label> 
    <input class="postcode valid" id="Company_PostCode" name="Company.PostCode" type="text" value=""> 

    <label for="Company_Address">Address</label> 
    <input class="address valid" id="Company_Address" name="Company.Address" type="text" value=""> 

    // more form elements here 

    <div class="text"> 
     some text here 
    </div> 
</div> 

我做的是

$("#submit-button").on("click", function(e) 
{ 
    e.preventDefault(); 
    $(".hidden-field").val($(".contract").html()); 

    if (/* some checks here */) 
    { 
     // blah blah 
    } 
    else 
    { 
     //submit form normally 

     $("#form-register").submit(); 
    } 
}); 

所以我有,我用它來把我想要的HTML並郵寄到我的控制器的隱藏字段。 事情是,我的表單的值都是空的.. $(「.contract」).html()的值都是空的。 任何想法?

+0

你能告訴你的控制器動作嗎? –

+0

這是巨大的,我認爲這並不重要,因爲從JavaScript控制檯$(「.contract」).html()顯示空的輸入值。 – celticharp

+0

您是否試圖保存整個html而不是'input'字段中的值? –

回答

2

正常檢查這一點,我想我找到了答案......

$( 「郵編 」)。ATTR(「 價值」,$( 「郵編」) .val()); 這必須爲合約div內的每個表單元素完成。所以完整的答案是...

$("#submit-button").on("click", function(e) 
{ 
    e.preventDefault(); 
    $('.contract input').each(
      function(){ 
       $(this).attr("value", $(this).val()); 
      }); 
    $(".hidden-field").val($(".contract").html()); 

    if (/* some checks here */) 
    { 
     // blah blah 
    } 
    else 
    { 
     //submit form normally 

    $("#form-register").submit(); 
    } 

});

+0

它現在工作嗎? –

+1

是的:)謝謝大家的回覆 – celticharp

+0

@necronio剛纔我發現這... – sachin

1

您不應該使用隱藏字段。你可以使用一個隱藏的div:

<div id="myDiv" style="display: none;"></div> 

,然後設置它的HTML:

$("#myDiv").val($(".contract").html()); 

此外,如果你在你的DOM與class="contract"多個元素,你可能會考慮使用更嚴格的選擇,以查明實際元素。

+0

隱藏的領域不是我的問題。隱藏字段用於將結果發佈到我的控制器,這是正常工作。我的問題是,HTML本身具有空值。請參閱: celticharp

+0

另外,我只有一個合約股利。 – celticharp

2

我已經試過你的fiddle.it代碼工作fine.I'm也

$(".contract").html(); 

還能夠將該值設置爲隱藏要素所獲得的價值。

請小提琴 http://jsfiddle.net/E6DCS/1/

+0

@necronio仍然如果你面對pbm意味着讓我知道 – sachin

+0

對不起,也許我不能很好地表達自己。如果我在輸入字段中鍵入內容,則這些值不會顯示在警告框顯示的html上。 – celticharp

+0

@necronio我明白你的問題是什麼,警告是「看到」HTML,因爲它最初呈現,並沒有考慮到你已經放置在輸入字段內的值。 –

1
$("#submit-button").on("click", function(e) 
{ 
    e.preventDefault(); 
    $('.address').attr('value',$('.address').val()); 
    $('.postcode').attr('value',$('.postcode').val()); 
    alert($(".contract").html()); 
    $(".hidden-field").val($(".contract").html()); 
    $("#form-register").submit(); 
}); 

小提琴 http://jsfiddle.net/E6DCS/2/

相關問題