Javascript 将表单的html值保存到数据库时,值为空

Javascript 将表单的html值保存到数据库时,值为空,javascript,jquery,html,asp.net-mvc,forms,Javascript,Jquery,Html,Asp.net Mvc,Forms,我有一个表单,我想将表单的一部分和一些html保存到我的数据库中 <div class="contract"> <label for="Company_PostCode">Postcode</label> <input class="postcode valid" id="Company_PostCode" name="Company.PostCode" type="text" value=""> <label f

我有一个表单,我想将表单的一部分和一些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>
因此,我有一个隐藏字段,用于放置我想要的html并将其发布到我的控制器。 问题是我表单的值都是空的。。 $(“.contract”).html()的所有值都为空。
有什么想法吗?

您不应该使用隐藏字段。您可以使用隐藏的div:

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

此外,如果您的DOM中有不止一个元素“代码>类=“契约”< /代码>),您可能会考虑使用更严格的选择器来确定实际元素。

不应使用隐藏字段。您可以使用隐藏的div:

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

此外,如果您的DOM中有不止一个元素“代码>类=“契约”< /代码>,您可能会考虑使用更严格的选择器来确定实际元素。

< P>我已经在FIDLE中尝试了您的代码。它工作得很好。我也从

获得了值。
 $( ".contract" ).html();
还可以将此值设置为隐藏元素

请用小提琴检查一下

我已经在fiddle中尝试了你的代码。它运行良好。我还从

 $( ".contract" ).html();
还可以将此值设置为隐藏元素

请用小提琴检查一下
好的,我想我找到了答案

$(.postcode”).attr(“value”,$(.postcode”).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();
  }

}))

好吧,我想我找到了答案

$(.postcode”).attr(“value”,$(.postcode”).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();
  }
}))

拨弄

拨弄

你能显示你的控制器动作吗?它很大,我认为这无关紧要,因为从javascript控制台$(“.contract”).html()显示空的输入值。你是否试图保存整个html而不是
input
字段中的值?警报($(“.contract”).html();是的,我想保存整个contract div,它是表单的一部分。你能显示你的控制器操作吗?它很大,我认为这没关系,因为从javascript控制台$(“.contract”)。html()显示空的输入值。你是想保存整个html而不是
输入
字段中的值吗?警报($(“.contract”).html());是的,我想保存整个合同div,它是表单的一部分。隐藏字段不是我的问题。隐藏字段用于将结果发布到我的控制器,并且该字段工作正常。我的问题是html本身有空值。请参阅:另外,我只有一个合同部门。隐藏字段不是我的问题。隐藏字段用于将结果发布到我的控制器,并且该字段工作正常。我的问题是html本身有空值。看:另外,我只有一个合同部门。@necronio如果你面对pbm意味着让我知道我很抱歉,也许我不能很好地表达自己。如果我在输入字段中键入一些内容,这些值不会出现在警告框显示的html中。@necronio我知道你的问题是什么,警报“看到”最初呈现的html,没有考虑输入字段中的值。@necronio我想这不是possible@necronio您可以获取邮政编码和地址值,但在该警报中,您不能期望该值。@necronio如果您面对pbm,则表示让我知道我很抱歉,也许我不能很好地表达自己。如果我在输入字段中键入一些内容,这些值不会出现在警告框显示的html中。@necronio我知道你的问题是什么,警报“看到”最初呈现的html,没有考虑输入字段中的值。@necronio我想这不是possible@necronio您可以获取邮政编码和地址值,但在该警报中,您不能期望该值。。