我试图填充输入字段,使用javascript,所有脚本都不起作用,我只看到php的回声而不是用于填充输入字段的javascript部分。
这是我的代码
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$card = $_POST['card'];
echo json_encode(array('card_response' => get_cc_type($card)));
//exit;
}
这是我的剧本,但我不知道为什么它不起作用
<script type="text/javascript">
document.getElementById('button').addEventListener('click', function(){
var card_value = document.getElementById('card').value; // get the input value
var xmlhttp = new XMLHttpRequest(); // create the xmlhttprequest object
var params = 'card=' + card_value; // create the query string
var php_url = document.URL; // this is the URL of the PHP, in this example, i'll just setup it the PHP on the same page.
xmlhttp.open('POST', php_url, true); // set as POST
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// handle the response from server here
var response = xmlhttp.responseText;
response = JSON.parse(response);
document.getElementById('cardtype').value = response.card_response; // set the value
}
}
xmlhttp.send(params); // execute
});
</script>
我只在页面中看到这些内容--- {&#34; card_response&#34;:&#34; VIP&#34;}
答案 0 :(得分:0)
在jquery上首先检查一下警告
alert(xmlhttp.toSource());
alert(response.toSource());
alert(response.card_response);
这些警报会告诉您准确得到的值。例如。 xmlhttp.status是否为200。
另外,检查Firebug,jquery是否出现故障?