【问题标题】:Values inserted with jquery aren't submitted in form使用 jquery 插入的值未在表单中提交
【发布时间】:2015-08-14 08:58:49
【问题描述】:

我有一个带有表单的模态:

<div class="modal-body">
    <form role="form" class="form-horizontal" action="../system/file_change.php" method="post" enctype="multipart/form-data">
        <div class="form-group">
            <div class="col-sm-10">
                <input type="file" name="fileToUpload" id="fileToUpload">
            </div>
            <div class="col-sm-2">
                <input type="submit" name="submit" class="btn btn-info pull-right replacefile" value="<?php echo $data['text_replace']?>">
            </div>
            <input type="hidden" name="order_id" value="<?php echo $order_id; ?>">
            <input name="old_code" type="hidden" id="old_code">
            <input type="hidden" name="token" value="<?php echo $token; ?>">
        </div>
    </form>
</div>

还有一个脚本,它会动态地插入一个值到输入 name="old_code" 字段:

<script>
$('.replacefile').on('click', function(){
    $('#old_code').val($(this).attr('data-id'));
    console.log( $('#old_code').attr('value')); 
});
</script>

控制台日志会返回正确的代码。 我的问题是,为什么这段代码没有与表单一起提交?我该如何解决这个问题?

【问题讨论】:

  • 这里对我来说似乎可以正常工作,我唯一能想到的就是你在页面上的某个地方有另一个 id 'old_code' 吗?
  • 我认为您应该为 old_code 输入设置属性 value="",因为这是您插入值的位置。
  • 是的,我也可以访问 $_POST['order_id'] 和 $_POST['token'],但无法访问:$_POST['old_code'],我有 vardumb 之后说:string(40) "bb03c92dcfada919d5170661986d1d603653d030" string(0) "" string(2) "78" 其中 string (0)"" 是 old_code
  • @Peszo 你在做什么:print_r($_REQUEST);在 file_change 页面上? (即使 old_code 没有值,您也应该在数组中看到它)
  • .replacefile 没有 data-id 属性,你的意思是获取值吗? - $(this).val()

标签: javascript php jquery forms


【解决方案1】:

试试这个:

<script>
$('.replacefile').on('click', function(){
    $('#old_code').val($(this).val());
    console.log( $('#old_code').val()); 
});
</script>

【讨论】:

    【解决方案2】:
    <div class="modal-body">
    <form role="form" id="myForm" class="form-horizontal" action="../system/file_change.php" method="post" enctype="multipart/form-data">
        <div class="form-group">
            <div class="col-sm-10">
                <input type="file" name="fileToUpload" id="fileToUpload">
            </div>
            <div class="col-sm-2">
                <input type="button" name="submit" class="btn btn-info pull-right replacefile" value="<?php echo $data['text_replace']?>">
            </div>
            <input type="hidden" name="order_id" value="<?php echo $order_id; ?>">
            <input name="old_code" type="hidden" id="old_code">
            <input type="hidden" name="token" value="<?php echo $token; ?>">
        </div>
    </form>
    

    <script>
        $('.replacefile').on('click', function(){
        $('#old_code').val($(this).attr('data-id'));
        console.log( $('#old_code').attr('value')); 
        document.getElementById("myForm").submit();
    });
    </script>
    

    试试上面的代码

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 2017-11-26
      • 2013-05-11
      • 1970-01-01
      相关资源
      最近更新 更多