我正在尝试在Ajax中运行转换。我相信我在网上找到的东西,我的一切都是正确的。但是,当我使用计算按钮时,它在我的结果div中返回0,而不是回答。我认为问题是我的数值没有从文本框中正确拉出。我需要像这样做,所以更改html输入类型不是一个选项。我是Ajax的新手,并不太清楚这是如何工作的。任何帮助都会很棒。
我的代码:
<!DOCTYPE html>
<head>
<title>Ajax Money Conversion</title>
<script>
var http = createRequestObject();
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
function moneyConversion(argLB) {
http.open('get', 'Conversion.php?pound=' +argLB);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4){
result = http.responseText.split(",");
document.getElementById("results").innerHTML = result[0];
}
}
</script>
</head>
<body>
<div>
<form name="myForm" action="#">
<h1>Enter amount of Dollars You Want To Convert to Pounds</h1>
<input type="text" name="txtCurrency" />
<input type="button" name="calcBtn" value="Calculate" id="calcBtn" onclick="moneyConversion()" />
</form>
</div>
<h1>Total</h1>
<div id="results">
</div>
</body>
</html>
我的函数conversion.php
<?php
$dollars=$_GET["pound"];
$conversion=($dollars * .6302);
print ("$conversion");``
?>
答案 0 :(得分:1)
onclick="moneyConversion()"
应该是
onclick="moneyConversion(this.form.elements.txtCurrency.value);"
否则你将空字符串传递给php