我需要$_POST
从jQuery脚本获取具有输入值的输入的值,但是由于某种原因,当我尝试对var_dump
整个$_POST
字段进行操作时,该字段amount
(从脚本中获取值的字段)根本什么也不输出。
这是您不了解的一些代码:
jQuery代码:
$(document).ready(function(){
update();
});
$('input[type=checkbox]').click(function(){
update();
})
function update(){
var amount2 = 0;
var options = 0;
$('#instNum2 option').remove();
$('.check_list').each(function () {
if (this.checked) {
amount2 += Number($(this).attr("val"));
options ++;
}
});
$("#amount2").val("R$"+amount2.toFixed(2));
这是html:
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<br><h4 style="margin-top: -5px;">Total Selecionado:</h4>
<input type="text" class="form-control" id="amount2" name="amount">
<p class="help-block text-danger"></p>
</div>
</div>
该函数很简单,它将选定的每一列的值求和,然后将总值打印在输入上。
问题是当我尝试在提交$_POST['amount']
表单后使用通用捕获输入的总值时,它会打印一个空字段...
有什么想法吗?
我认为有两个错误。
1st:更新的行在函数#amount2
外部update()
。
2nd:此行失败amount2 += Number($(this).val());
您想要此输入的输入值(或修改后的值)...而不是value attribute
的值。
区别在于:$(this).attr("val")
将返回属性中定义的内容,例如:
<input type="text" class="form-control" id="amount2" name="amount" value="default value">
并且$("#amount2").val()
将返回实际值。
你的这个:
function update(){
var amount2 = 0;
var options = 0;
$('#instNum2 option').remove();
$('.check_list').each(function () {
if (this.checked) {
amount2 += Number($(this).val());
options ++;
}
$("#amount2").val("R$"+amount2.toFixed(2));
console.log($("#amount2").val());
});
我添加了一个console.log,供您检查执行update()
功能时是否存在所需的值。
根据评论进行编辑
在您的PHP中尝试以下操作:
if (isset($_POST['amount'])){
echo "$_POST['amount'] is set.<br>";
echo "It's value is: x" . $_POST['amount'] . "x"; // if it is empty, you'll get "xx" echoed.
}else{
echo "$_POST['amount'] is NOT set.<br>";
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句