Значэння з'яўляюцца пустымі пры захаванні значэння HTML з формы ў базу дадзеных

У мяне ёсць форма, і я хачу, каб захаваць частку формы і некаторыя HTML у маёй базе дадзеных.

<div class="contract">

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

    
    <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() мае ўсе гэтыя значэнні пустыя. Любыя ідэі?

1
Ці можаце вы паказаць вашы дзеянні кантролера, калі ласка?
дададзена аўтар Mr. Mr., крыніца
Я меў на ўвазе для вас, каб пабудаваць HTML у дзеянні кантролера не ў JavaScript. Гэта дазволіць вам атрымаць значэнне, і калі вы ведаеце структуру HTML можна дадаць, што ў дзеянні кантролераў.
дададзена аўтар Mr. Mr., крыніца
Я меў на ўвазе для вас, каб пабудаваць HTML у дзеянні кантролера не ў JavaScript. Гэта дазволіць вам атрымаць значэнне, і калі вы ведаеце структуру HTML можна дадаць, што ў дзеянні кантролераў.
дададзена аўтар Mr. Mr., крыніца
Вы можаце не адпраўляць форму нармальна і пабудаваць HTML вакол ўваходных значэнняў?
дададзена аўтар Mr. Mr., крыніца
Вы можаце не адпраўляць форму нармальна і пабудаваць HTML вакол ўваходных значэнняў?
дададзена аўтар Mr. Mr., крыніца
Вы спрабуеце захаваць увесь HTML, а не значэння ў ўваходных палёў?
дададзена аўтар Mr. Mr., крыніца
Вы спрабуеце захаваць увесь HTML, а не значэння ў ўваходных палёў?
дададзена аўтар Mr. Mr., крыніца
абвесткі ($ ( "кантракт.") .html ());
дададзена аўтар Talha, крыніца
абвесткі ($ ( "кантракт.") .html ());
дададзена аўтар Talha, крыніца
Гэта велізарная, і я думаю, што гэта не мае значэння, таму што з кансолі JavaScript $ ( «.contract») .html() паказвае пустыя ўваходныя значэння.
дададзена аўтар celticharp, крыніца
Гэта велізарная, і я думаю, што гэта не мае значэння, таму што з кансолі JavaScript $ ( «.contract») .html() паказвае пустыя ўваходныя значэння.
дададзена аўтар celticharp, крыніца
так, я хачу, каб захаваць увесь кантракт DIV, які з'яўляецца часткай формы.
дададзена аўтар celticharp, крыніца
Пабудаваць HTML з JavaScript? мой ўваход, як гэта: <�уваходнага клас = «паштовы індэкс сапраўды» ID = «Company_PostCode» імя = тып «Company.PostCode» = «тэкст» значэнне = "»> .. калі я раблю $ ( «# ўваходу Company_PostCode») .val ( «что-то») гэта не змяняючы HTML.
дададзена аўтар celticharp, крыніца
Пабудаваць HTML з JavaScript? мой ўваход, як гэта: <�уваходнага клас = «паштовы індэкс сапраўды» ID = «Company_PostCode» імя = тып «Company.PostCode» = «тэкст» значэнне = "»> .. калі я раблю $ ( «# ўваходу Company_PostCode») .val ( «что-то») гэта не змяняючы HTML.
дададзена аўтар celticharp, крыніца
так, я хачу, каб захаваць увесь кантракт DIV, які з'яўляецца часткай формы.
дададзена аўтар celticharp, крыніца

8 адказы

Добра, я думаю, я знайшоў адказ ...

$ ( "Паштовы індэкс"). АТР ( "значэнне", $() Val() "паштовы індэкс.".). гэта павінна быць зроблена для кожнага элемента формы ўнутры кантракту спраў. так што поўны адказ ...

$("#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();
  }

});

2
дададзена
Працуе яна цяпер, то?
дададзена аўтар Mr. Mr., крыніца
да :) дзякуй усім за вашы адказы
дададзена аўтар celticharp, крыніца
@necronio толькі цяпер я знайшоў, што гэта ...
дададзена аўтар sachin, крыніца

Я паспрабаваў ваш код у fiddle.it працуе fine.I'm таксама атрымлівае значэнне з

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

Таксама ў стане ўсталяваць гэта значэнне схаванага элемента.

Please Check this in fiddle http://jsfiddle.net/E6DCS/1/

2
дададзена
@necronio Я разумею, што ваша праблема, гэта папярэджанне «бачыць» HTML, як гэта было першапачаткова аказанай, і не прымаючы пад увагу значэнне, якое вы змясцілі ўнутры поля ўводу.
дададзена аўтар Mr. Mr., крыніца
Мне вельмі шкада, можа быць, я не магу выказаць сябе вельмі добра. Калі я нешта тыпу ў палях ўводу, гэтыя значэнні не адлюстроўваюцца ў HTML, што акно паказвае папярэджання.
дададзена аўтар celticharp, крыніца
@necronio і можа атрымаць паштовы індэкс і адрас значэння, але ў тым, што трывога вы не можаце чакаць, што значэнне ..
дададзена аўтар sachin, крыніца
@necronio я думаю, што гэта не магчыма
дададзена аўтар sachin, крыніца
@necronio яшчэ калі і сутыкаюцца РВМ сродкі, дайце мне ведаць
дададзена аўтар sachin, крыніца

Я паспрабаваў ваш код у fiddle.it працуе fine.I'm таксама атрымлівае значэнне з

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

Таксама ў стане ўсталяваць гэта значэнне схаванага элемента.

Please Check this in fiddle http://jsfiddle.net/E6DCS/1/

2
дададзена
@necronio Я разумею, што ваша праблема, гэта папярэджанне «бачыць» HTML, як гэта было першапачаткова аказанай, і не прымаючы пад увагу значэнне, якое вы змясцілі ўнутры поля ўводу.
дададзена аўтар Mr. Mr., крыніца
Мне вельмі шкада, можа быць, я не магу выказаць сябе вельмі добра. Калі я нешта тыпу ў палях ўводу, гэтыя значэнні не адлюстроўваюцца ў HTML, што акно паказвае папярэджання.
дададзена аўтар celticharp, крыніца
@necronio і можа атрымаць паштовы індэкс і адрас значэння, але ў тым, што трывога вы не можаце чакаць, што значэнне ..
дададзена аўтар sachin, крыніца
@necronio я думаю, што гэта не магчыма
дададзена аўтар sachin, крыніца
@necronio яшчэ калі і сутыкаюцца РВМ сродкі, дайце мне ведаць
дададзена аўтар sachin, крыніца

Я паспрабаваў ваш код у fiddle.it працуе fine.I'm таксама атрымлівае значэнне з

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

Таксама ў стане ўсталяваць гэта значэнне схаванага элемента.

Please Check this in fiddle http://jsfiddle.net/E6DCS/1/

2
дададзена
@necronio Я разумею, што ваша праблема, гэта папярэджанне «бачыць» HTML, як гэта было першапачаткова аказанай, і не прымаючы пад увагу значэнне, якое вы змясцілі ўнутры поля ўводу.
дададзена аўтар Mr. Mr., крыніца
Мне вельмі шкада, можа быць, я не магу выказаць сябе вельмі добра. Калі я нешта тыпу ў палях ўводу, гэтыя значэнні не адлюстроўваюцца ў HTML, што акно паказвае папярэджання.
дададзена аўтар celticharp, крыніца
@necronio і можа атрымаць паштовы індэкс і адрас значэння, але ў тым, што трывога вы не можаце чакаць, што значэнне ..
дададзена аўтар sachin, крыніца
@necronio я думаю, што гэта не магчыма
дададзена аўтар sachin, крыніца
@necronio яшчэ калі і сутыкаюцца РВМ сродкі, дайце мне ведаць
дададзена аўтар sachin, крыніца

Вы не павінны выкарыстоўваць схаванае поле. Вы можаце выкарыстоўваць схаваны DIV:

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

а затым ўсталяваць яго HTML:

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

Акрамя таго, калі ў вас ёсць больш аднаго элемента з кодам <> клас = «дамова» у DOM вы маглі б разгледзець магчымасць выкарыстання больш жорсткага выбару, каб дакладна вызначыць фактычны элемент.

1
дададзена
Акрамя таго, у мяне ёсць толькі адзін кантракт DIV.
дададзена аўтар celticharp, крыніца
Схаванае поле не мая праблема. Схаванае поле выкарыстоўваецца для таго, каб пакідаць вынік у мой кантролер, і гэта працуе правільна. Мая праблема заключаецца ў тым, што сам HTML мае пустыя значэння. см: <�ўваходных клас = "адрас сапраўдны" ID = імя "Company_Address" = "Company.Address" Тып = "тэкст" значэнне = "">
дададзена аўтар celticharp, крыніца

Вы не павінны выкарыстоўваць схаванае поле. Вы можаце выкарыстоўваць схаваны DIV:

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

а затым ўсталяваць яго HTML:

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

Акрамя таго, калі ў вас ёсць больш аднаго элемента з кодам <> клас = «дамова» у DOM вы маглі б разгледзець магчымасць выкарыстання больш жорсткага выбару, каб дакладна вызначыць фактычны элемент.

1
дададзена
Акрамя таго, у мяне ёсць толькі адзін кантракт DIV.
дададзена аўтар celticharp, крыніца
Схаванае поле не мая праблема. Схаванае поле выкарыстоўваецца для таго, каб пакідаць вынік у мой кантролер, і гэта працуе правільна. Мая праблема заключаецца ў тым, што сам HTML мае пустыя значэння. см: <�ўваходных клас = "адрас сапраўдны" ID = імя "Company_Address" = "Company.Address" Тып = "тэкст" значэнне = "">
дададзена аўтар celticharp, крыніца
$( "#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();
 });

Fiddle http://jsfiddle.net/E6DCS/2/

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();
 });

Fiddle http://jsfiddle.net/E6DCS/2/

1
дададзена