2013-10-24 3 views
0

해결 방법을 찾는 데 어려움이 있습니다. 입력란과 제출 버튼이 있습니다. 우선, 제출 버튼을 클릭하면 변수의 값을 입력 필드의 값으로 변경합니다.onclick 버튼 기능 수행

둘째로 제출 버튼을 클릭 할 때 함수를 실행하고 싶습니다. 그 경우 : 제출 버튼을 클릭하면 입력 필드의 값에 따라 위키 백과에서 json 파일을 검색하고 싶습니다.

<div class="container"> 
    <div class="row"> 
     <div class="span8"><p>Please enter your searchterm:</p> 
     <input id="input" type="text" value="Denmark"><br> 
      <input type="button" id="submit" value="Search" /> 
     </div> 
     <div class="span4"><div id="result"></div></div> 
    </div> 
</div> 


<script> 
var searchTerm=""; 
var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?"; 

$('#submit').click(function(){ 
searchTerm='denmark'; 
}); 


$.getJSON(url,function fetchWiki(data){ 
    wikiHTML = data.parse.text["*"]; 
    $wikiDOM = $("<document>"+wikiHTML+"</document>"); 
    $("#result").append($wikiDOM.find('.infobox').html()); 
}); 
내가 값을 변경하고 그 후 기능을 실행하는 방법을 알아낼 수 없습니다

.

저와 함께하시기 바랍니다, 나는 상대적으로 JavaScript를 가지고 있습니다. 변수를 업데이트 할 필요가 있기 때문에, 검색을 수행하는 코드가 클릭 함수 내에서 을 갈 필요 통지, 또한

$('#submit').click(function (e){ //pass the event into the function 
e.preventDefault(); //prevent the submit button from actually submitting 

//update your variables 
searchTerm = $("#input").val(); 
url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + searchTerm+"&redirects&prop=text&callback=?"; 


$.getJSON(url,function fetchWiki(data){ 
    wikiHTML = data.parse.text["*"]; 
    $wikiDOM = $("<document>"+wikiHTML+"</document>"); 
    $("#result").append($wikiDOM.find('.infobox').html()); 
    }); 

}); 

:

답변

1

당신은 클릭 이벤트의 기본 동작을 방지하기 위해 필요 뒤에 "submit"을 클릭하십시오.

+0

또한 입력에서 searchTerm을 가져온 후 url *을 변경해야합니다. 그렇지 않으면 꽤 쓸모가 없습니다. –

+0

oops, updated .. –

+0

사실 나는 운이없이이 접근법을 이미 시도했습니다. 버튼을 클릭해도 아무 일도 일어나지 않고 이유를 알 수 없습니다. –