输入发布方法中的javascript值无法正常工作

时间:2018-07-06 12:55:45

标签: php jquery

我的表单中的一个输入由可变javascript完成。我不明白为什么我的PHP代码没有看到此变量? (如果我手动输入该值,它将起作用)

 <?php $kwota2 = $_POST['kwota2']; // undefinded kwota2 ?? ?>

    <form action="post>
    <input id="kwota2" type="text" name="kwota2" disabled>

    <script>
           $("#kwota2").val(localStorage.getItem('sumalist'));
    </script>
<input type="submit" value="Zamawiam">
                    </form>

2 个答案:

答案 0 :(得分:0)

它无法正常工作,因为它已将其标记为已禁用 将其转换为只读并尝试

并将您的javascript代码添加到文档就绪功能中

答案 1 :(得分:0)

这是第一种方法。您将使用jQuery序列化disabled的对象。

$('form').on('submit', function(e) {
  e.preventDefault();
  
  var data = $('form').serializeArray();
  $(':disabled').each(function(i, item) {
    data.push({
      name: item.name,
      value: $(this).val()
    });
  });
  console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="post">
  <input id="kwota2" type="text" name="kwota2" value="example" disabled>
  <input type="submit" value="Zamawiam">
</form>

第二种方法是添加readonly属性。disabledreadonly之间的唯一区别是readonly 可序列化

<form action="post">
  <input id="kwota2" type="text" name="kwota2" value="example" readonly>
  <input type="submit" value="Zamawiam">
</form>

也: How to make $.serialize() take into account those disabled :input elements?