V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
weang000
V2EX  ›  jQuery

如何在提交表单后获取到动态添加的 inpu 的值

  •  
  •   weang000 · 2018-04-18 11:19:18 +08:00 · 4791 次点击
    这是一个创建于 2171 天前的主题,其中的信息可能已经有所发展或是发生改变。

    通过.html()添加了一个 input 框,然后提交表单后获取不到这几个 input 的值。name 给对了,没问题。没有语法错误。没问题,就是拿不到值。

    第 1 条附言  ·  2018-04-18 15:01:16 +08:00
    这个是 js 添加的代码
    $('#roomnum').change(function(){
    $('.hotels-pay1-box-container-main-form-tr1-d2-s1 span').html($(this).val()*{$room.price});
    $('.hotels-pay1-box-container-side-price-li-s2 span').html($(this).val()*{$room.price});
    str='';
    str+="<span>住客姓名</span>{volist name='peopare' id='peopar'}<input type='checkbox' idx='{$peopar.user_id;}' num='0' value='{$peopar.name}'>{$peopar.name}{/volist}<br><div class='hotels-pay1-box-container-main-form-tr1-d3-d1'>"
    for(i=1;i<=($('#roomnum').val()*<?php echo $room['num']?>);i++){
    str+="<input name='roompeo[]' placeholder='住客"+i+"(中文 /英文)' type='text'>";
    }
    str+="</div><br><p>至少填写<span>1</span>人,最多填写"+$('#roomnum').val()*<?php echo $room['num']?>+"人。所填姓名需与入住时所持证件一致。</p>";
    $('.hotels-pay1-box-container-main-form-tr1-d3').html(str);
    $('#price').val($(this).val()*{$room.price});
    });
    <div class="hotels-pay1-box-container-main-form-tr1-d3">
    <span>住客姓名</span>
    {volist name='peopare' id='peopar'}
    <input type="checkbox" idx="{$peopar.user_id;}" num='0' value='{$peopar.name}'>{$peopar.name}
    {/volist}
    <br>
    <div class='hotels-pay1-box-container-main-form-tr1-d3-d1'>
    {for start="0" end="($arr['roomnum'])*$room['num']" name="i" step="1"}
    <input name="roompeo[]" placeholder="住客{$i+1}(中文 /英文)" type="text">
    {/for}
    </div>
    <br>
    <p>至少填写<span>1</span>人,最多填写{++$arr.roomnum*$room.num}人所填姓名需与入住时所持证件一致。</p>
    </div>
    7 条回复    2018-04-23 13:22:11 +08:00
    shangfabao
        1
    shangfabao  
       2018-04-18 11:31:09 +08:00
    你用的表格的提交?
    weang000
        2
    weang000  
    OP
       2018-04-18 11:36:15 +08:00
    @shangfabao 表单的提交啊,$('#formq1').submit();用了一个 onclick 绑定的这个事件,提交过去别的值没问题可以拿到你,唯独之前动态添加的几个 input 拿不到
    tms
        3
    tms  
       2018-04-18 11:37:02 +08:00 via Android
    input 没在 form 标签里?
    weang000
        4
    weang000  
    OP
       2018-04-18 11:49:47 +08:00
    @tms 没问题在 form 里面
    respect11
        5
    respect11  
       2018-04-18 12:53:32 +08:00
    你截图个代码也行啊。。
    swordne
        6
    swordne  
       2018-04-18 13:41:40 +08:00
    代码看一下吧
    shangfabao
        7
    shangfabao  
       2018-04-23 13:22:11 +08:00
    @weang000 这样是不行的,你得手动提交了,试试 ajax data:$('#formId').serialize()
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   976 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:19 · PVG 04:19 · LAX 13:19 · JFK 16:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.