2014-12-08 3 views
0

Я новичок в JavaScript и ищу дополнительную помощь. Я пытаюсь сделать запрос JSON на основе ввода текстового поля. Я хочу, чтобы текст формировал поле в качестве части запроса, однако я не могу сделать текст строкой, чтобы он мог использоваться для запроса JSON. Что я делаю не так?Преобразование ввода текстового поля в строку

Вот мой код:

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
</head> 
<body> 


<p id="syno"></p> 


<form name="test"> 
<input type="text" name="Edit"> <!-- where i input a word--> 
<input type="button" value="Test" onClick="gettext()"><!-- test button--> 
<input type="text" name="Edit2" value="power" readonly style="border:1px solid white"> 
</form> 


<script> 
function gettext() { 
document.test.Edit2.value = document.test.Edit.value; 
document.test.Edit2("Edit2").value = document.test.Edit.value; 
} 


var apiKey = '0771a4c95ca7e23d41e33f67a1da0000/'; 
var txtjson = '/json'; 
var f = document.test.Edit2.value; 
var apiUrl = 'http://words.bighugelabs.com/api/2/' + apiKey + f + txtjson; 

$.ajax({ 
     url: apiUrl, 
     type: "GET", 
     dataType: 'json', 
     success: parseWord 
    }); 

function parseWord(data) { 
      $('#syno').text(data.noun.syn); 
     } 

</script> 
</body> 
</html> 

ответ

1

проблемы в коде

  1. вы добавили ajax код, но код за пределами gettext() функции
  2. код линии document.test.Edit2("Edit2") должен быть document.forms.test.Edit2.value

см. Cor Прямоугольник код,

function gettext() { 
 

 
    document.forms.test.Edit2.value = document.forms.test.Edit.value; 
 
    var apiKey = '0771a4c95ca7e23d41e33f67a1da0000/'; 
 
    var txtjson = '/json'; 
 
    var f = document.forms.test.Edit2.value; 
 
    var apiUrl = 'http://words.bighugelabs.com/api/2/' + apiKey + f + txtjson; 
 

 
    $.ajax({ 
 
    url: apiUrl, 
 
    type: "GET", 
 
    dataType: 'json', 
 
    success: parseWord 
 
    }); 
 
    return false; 
 
} 
 

 

 

 

 
function parseWord(data) { 
 
    $('#syno').text(data.noun.syn); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p id="syno"></p> 
 
<form name="test"> 
 
    <input type="text" name="Edit" /> 
 
    <!-- where i input a word--> 
 
    <input type="button" value="Test" onClick="return gettext(this);" /> 
 
    <!-- test button--> 
 
    <input type="text" name="Edit2" value="power" readonly style="border:1px solid white" /> 
 
</form>

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