2012-03-05 3 views
0

javascript를 사용하여 url 끝에 여러 변수를 추가하는 데 문제가 있습니다. 사용자는 선택 메뉴 및 텍스트 영역을 사용하여 페이지에 입력을 제공합니다. 텍스트 영역 만 사용하면 작동하지만 선택 메뉴를 포함 할 수 없습니다.javascript를 사용하여 url에 여러 변수를 추가하려면 어떻게합니까?

<?php 
$price = $_GET['price']; 
$title = $_GET['title']; 
$retailer = $_GET['retailer']; 
$img = $_GET['img']; 
$link = $_GET['link']; 
$desc = $_GET['desc'];  
?> 

<textarea rows="3" id="textarea" class="input-xlarge" placeholder="Size, color, style, etc" name ="options"></textarea> 

<select style="width: 130px;" id="quantity" class="span2"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     </select> 

<script language="javascript"> 
    function test() 
{ 
    var val=document.getElementById("textarea").value; 
    var val=document.getElementById("quantity").value; 
    var hrf="viewcart.php?retailer=<?php echo $retailer?>&link=<?php echo $link; ?>&price=<?php echo $price; ?>&title=<?php echo $title; ?>&options="+val; 
    document.getElementById("a_link").href=hrf; 
} 
</script> 

<a href ="#" id="a_link" onclick="test();" class="btn btn-success" type="submit"> 
    <i class="icon-shopping-cart icon-white"></i> Add to Cart 
</a> 

내가 변경하려고 라인은 다음과 같습니다

var hrf="viewcart.php?retailer=<?php echo $retailer?>&link=<?php echo $link; ?>&price=<?php echo $price; ?>&title=<?php echo $title; ?>&options="+val; 

내가 아래를 가지고 시도했지만 작동하지 않았다 :이 작업을하는 방법에 대한

var hrf="viewcart.php?retailer=<?php echo $retailer?>&link=<?php echo $link; ?>&price=<?php echo $price; ?>&title=<?php echo $title; ?>&options="+val + “&quantity=” + quantity; 

어떤 아이디어 일하다?

+0

당신이 변수를 정의하는 경우? – jmort253

+0

생성하려는 원하는 URL은 무엇입니까? 현재 코드는'select'에서 값을 취하여 옵션에 추가합니다. 이게 너가하려는거야? – fayerth

+1

'val' 변수를 두 번 정의하고 있습니다; 무슨 목적으로? – faino

답변

1

사용이 친구,

var quantity = document.getElementById("quantity").options[document.getElementById("quantity").selectedIndex].value; 

var val=document.getElementById("textarea").value; 

var hrf="viewcart.php?retailer=<?php echo $retailer?>&link=<?php echo $link; ?>&price=<?php echo $price; ?>&title=<?php echo $title; ?>&options="+val + “&quantity=” + quantity; 
+0

내 것과 같지만 한 줄에 모두보기가 좋습니다. +1 – Anthony

-1

value을 사용하여 드롭 다운에서 선택한 옵션에 액세스 할 수 없습니다. 어떤 옵션이 선택되었는지 그리고 그 옵션의 가치가 무엇인지 찾아야합니다. 이 시도 :

var selected_qty = document.getElementById("quantity").selectedIndex; 
var all_qtys  = document.getElementById("quantity").options; 

var quantity = all_qtys[selected_qty].value; 
+0

-1 select 요소의 [value] (http://dev.w3.org/html5/spec/Overview.html#the-select-element)는 첫 번째로 선택한 옵션의 값이거나,없는 경우 빈 문자열입니다 가 선택됩니다. – RobG

+0

내 코드가 작동하고 OP가 없기 때문에 실제로. 그리고 그런데, -1, 당신은 johnny-on-the-spot이되어서 HTML5의 작업 초안을 보냈지 만, [html 4의 권장 표준] (http : // www. w3.org/TR/html4/interact/forms.html#h-17.6). 그래서 -1을 당신의 선택한 가치까지 올리십시오. – Anthony

+0

처음 두 문장이 잘못되었습니다. 관련 ** 표준 **는 [HTMLSelectElement의 value 속성] (http://www.w3.org/TR/DOM-Level-2-HTML/html.html)의 값을 지정하는 W3C DOM 2 HTML 사양입니다. # ID-94282980), 이는 HTML5 사양 (거의 동일한 것을 말함)의 문장의 기본입니다. HTML 4 스펙은 DOM이 아닌 HTML에 관한 것입니다. HTML select 요소에는 value 속성이 없지만 DOM * HTMLSelectElement *에는 값 ** 속성 **이 있습니다 (DOM 2 HTML 및 HTML5 사양 참조). – RobG

관련 문제