我有一个id为#country的国家/地区。我试图将选择的值作为ajax请求传递给php文件 - countrycode.php并将接收到的值传递给另一个id为#tele的输入字段。我的代码如下:
<script>
$('#country').change(function() {
//var country = $(this).val();
var country = $('#country').val();
//alert(country);
});
$.ajax({
type: "POST",
url: 'countrycode.php',
data: { country : country },
success: function(data)
{
$("#tele").html(data);
}
});
</script>
警报(国家);显示所选的正确国家/地区我尝试使用:
var country = $(this).val();
也有正确的警告信息。
问题在于:
data: { country : country },
我收到错误: TypeError:&#39; stepUp&#39;调用了一个没有实现接口HTMLInputElement
的对象我在Stackoverflow中尝试了所有答案..但是无法理解为什么它不能正常工作????
答案 0 :(得分:5)
您的country
变量位于change
函数内。因此,ajax将是未定义的。我认为它必须是全球性的。
你能试试吗?
<script>
var country;
$('#country').change(function() {
//var country = $(this).val();
country = $('#country').val();
//alert(country);
$.ajax({
type: "POST",
url: 'countrycode.php',
data: { country : country },
success: function(data)
{
$("#tele").val(data);
}
});
});
</script>
答案 1 :(得分:1)
如果您在更改country
字段时尝试使用Ajax更改字段,则需要将ajax调用放在.change()
处理程序中,以便在调用时调用它。
<script>
$('#country').change(function () {
var country = $('#country').val();
$.ajax({
type: "POST",
url: 'countrycode.php',
data: { country: country },
success: function (data) {
$("#tele").html(data);
}
});
});
</script>
如前所述,在国家变量中有任何值之前,你只是在启动时调用ajax函数,然后当.change()
事件发生时,你根本没有调用ajax函数。