2015-04-15 2 views
0

Я пытаюсь запустить преобразование в Ajax. Я верю из того, что я нашел в Интернете, у меня есть все, что нужно. Однако, когда я использую кнопку расчета, он возвращает 0 в моих результатах div вместо ответа. Я думаю, что проблема в том, что мое числовое значение не получает должным образом вытаскивается из текстового поля. Мне нужно сделать это так, поэтому изменение типов ввода html не является вариантом. Я чрезвычайно новичок в Ajax и не совсем понимаю, как это работает. Любая помощь будет большой.Возвращаемое значение на ajax возвращается с 0

мой код:

<!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");`` 

?> 

ответ

1
onclick="moneyConversion()" 

должен быть

onclick="moneyConversion(this.form.elements.txtCurrency.value);" 

иначе передавая пустую строку в PHP

+0

Это сделало это, большое вам спасибо. У меня было ощущение, что я не передаю значение из текстового поля, но я не мог понять, как это сделать. Еще раз спасибо. Я буду зелёным проверять его через 6 минут, когда это позволит мне. –

Смежные вопросы