검색 매개 변수에 따라 API를 실행할이 사이트를 구축했습니다. if 문을 사용하여 드롭 다운 값을 결정했습니다. 그러나 어떤 이유로 든 if 문장이 실행되지 않습니다. 내가 잘못하고있는 게 있나요? 여기가 작동하지 않는 이유는 드롭 다운의 선택을 변경할 때 변수 maindropval
만 설정되어있는 코드Javascript if 문이 트리거되지 않습니다
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript"></script>
<title>Testing</title>
</head>
<body>
<form name="bestbuysearch">
<select name="selection" onchange="setvalue()">
<option value="default">Select Category(Optional)</option>
<option value="abcat0100000">TV & Home Theater</option>
<option value="abcat0207000">Musical Instruments</option>
<option value="abcat0300000">Car, Marine & GPS</option>
<option value="abcat0400000">Cameras & Camcorders</option>
<option value="abcat0500000">Computers & Tablets</option>
<option value="abcat0600000">Movies & Music</option>
<option value="abcat0700000">Video Games</option>
<option value="abcat0800000">Mobile Phones</option>
<option value="abcat0900000">Appliances</option>
<option value="pcmcat142300050026">Outlet Center</option>
<option value="pcmcat242800050021">Health, Fitness & Sports</option>
<option value="pcmcat245100050028">Office</option>
<option value="pcmcat248700050021">Home</option>
</select>
<input type='text' id="item" placeholder='Search Here!' style='margin-top: 10px' size="70" maxlength=150 width="100px" />
<input type='submit' value="Search" onclick="getstring(document.getElementById('item').value)"/>
</form>
<script>
function setvalue(){
dropval=document.getElementsByName("selection")[0];
maindropval=dropval.value;
}
function getstring(x){
//link="http://api.remix.bestbuy.com/v1/products(name="+x+"*)?show=sku,name,regularPrice&apiKey=ydpyq9h9cmpmzaakbawv9mzk";
//link2= "http://api.remix.bestbuy.com/v1/products(name=ipad|shortDescription=32gb*)?show=sku,name,shortDescription&apiKey=ydpyq9h9cmpmzaakbawv9mzk";
link1="http://api.remix.bestbuy.com/v1/products(name="+x+"*)?show=sku,name,regularPrice,shortDescription&apiKey=ydpyq9h9cmpmzaakbawv9mzk";
link2="http://api.remix.bestbuy.com/v1/products(categoryPath.id="+maindropval+"&name="+x+"*)?show=sku,name,shortDescription,regularPrice,&apiKey=ydpyq9h9cmpmzaakbawv9mzk";
if(maindropval=='default'){
alert("worked");
window.open(link1);}
else{
window.open(link2);}
}
function getresult(value){
link="http://api.remix.bestbuy.com/v1/products(name="+x+"*)?show=sku,name,rating,regularPrice&apiKey=ydpyq9h9cmpmzaakbawv9mzk";
alert("step 2 completed");
}
</script>
</body>
</html>
[SO]에 오신 것을 환영합니다. [faq]를 읽어보십시오. [editing-help] (http://stackoverflow.com/editing-help) 페이지를 검토하면 좋을 것입니다. 긴 코드 블록은 읽기가 어렵고 [피들] (http://jsfiddle.net)로 더 잘 표현됩니다. – zzzzBov
오류가 있습니까? maindropval에서 범위 문제가있을 수 있습니다. fone 얘들 아 그냥 해결할 경우 –
... 나는 dropbox가 토글 될 때까지 onselect 함수가 실행되지 않는다는 것을 깨달았습니다. 그래서 나는 초기 값을 "default"로 설정하고 거기에서부터 실행했습니다. :) –