首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将表单的html值保存到数据库时,值为空

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

Stack Overflow用户
提问于 2013-05-28 15:38:42
回答 4查看 707关注 0票数 1

我有一个表单,我想保存表单的一部分和一些html到我的数据库。

代码语言:javascript
运行
复制
<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>

我要做的是

代码语言:javascript
运行
复制
$("#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()的所有值都为空。有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-28 16:18:22

好的,我想我找到答案了……

$(".postcode").attr("value",$(".postcode").val() );必须对contract div中的每个表单元素执行此操作。所以完整的答案是...

代码语言:javascript
运行
复制
$("#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
EN

Stack Overflow用户

发布于 2013-05-28 15:54:50

我已经在fiddle.it中测试过你的代码运行良好。我还从

代码语言:javascript
运行
复制
 $( ".contract" ).html();

还可以将此值设置为隐藏元素。

请在fiddle http://jsfiddle.net/E6DCS/1/中检查

票数 2
EN

Stack Overflow用户

发布于 2013-05-28 15:43:41

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

代码语言:javascript
运行
复制
<div id="myDiv" style="display: none;"></div>

然后设置它的html:

代码语言:javascript
运行
复制
$( "#myDiv" ).val( $( ".contract" ).html() );

此外,如果您的DOM中有多个带有class="contract"的元素,则可以考虑使用更严格的选择器来精确定位实际的元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16786398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档