我试图在数字输入字段上触发 oninput 事件,ajax调用总是成功并显示在firebug的网络中发送的参数 - >但是,当我想要检索通过ajax发送的参数时,isset()无效并且永远不会得到回复,为了进一步说明,我将在下面发布我的部分代码:
<label> Amount to Pay </label>
<div id="toBePaid" class="form-input-wide">
<input type="number" id="amountToBePaid" name="amountToBePaid" oninput="getRemainingAmount()" data-type="input-number" min="0" required style="width:100px;" size="5" value="<?php ?>" data-component="number" />
</div>
此前通过ajax发送的号码,函数为:getRemainingAmount()
<label> Remaining Amount </label>
<div id="remaining" >
</div>
这个div将包含回复,它将在脚本中引用
function getRemainingAmount() {
var amountToPay = $('#amountToBePaid').val();
var dataString = "amountToPay="+amountToPay;
$.ajax({
type: "POST",
url:'http://192.168.0.10/skylite/test',
data: dataString,
success: function(response) {
$("#remaining").empty();
$(response).find('.resultRemaining').each(function(){
$('#remaining').append($(this).html()); });
},
});
}
现在我将发布&#34;测试&#34;页面,请注意.empty()
不是问题,测试页的代码包含:
if(isset($_POST['amountToPay'])) {
var $AmountToPay=$_POST['amountToPay'];
echo "<div class='resultRemaining'>";
echo "<input type='number' id='remainingAmount' name='remainingAmount' data-type='input-number' disabled style='width:100px;' size='5' value=".$AmountToPay." data-component='number' />";
echo "</div>";
} else {
// redirecting to my main page here
}
我将resultRemaining
类附加到该函数,如果我删除了我的if(isset($_POST['amountToPay'])) {
,如果我输入一个虚拟值,则该回复有效。
这是&#34;网络&#34;中的ajax调用的一个小快照:
答案 0 :(得分:2)
您的PHP代码无效,并且会抛出一个解析错误,因为您的变量前面有->*
。 PHP 4中使用关键字var
来声明类成员。它仍然可以 用于(但很少)用于声明公共类成员,但它在任何其他上下文中都不是有效的关键字。
如果你更改了这行,它应该可以工作:
var
到
var $AmountToPay=$_POST['amountToPay'];
关于$AmountToPay=$_POST['amountToPay'];
的演示:http://3v4l.org/InhN7