我的表单中的一个输入由可变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>
答案 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属性。disabled
和readonly
之间的唯一区别是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?