2013-11-27 1 views
-2

나는 누군가가 도와 줄 수 있기를 바랍니다. 저는 Web Programming Class의 학생이며 강사가 과제를 부여했습니다 : "onChange"이벤트 핸들러를 폼의 배송 필드에 추가하여 사용자가 선택한 배송 방법을 변경할 때마다 "shipping_price()"함수를 실행합니다. 나는 그가 할당이 부분에 대한 준 모든 정보를 여기에 넣어 무엇학교에서 onChange 변경

<td colspan="3" align="right"><span class="fmlabel">Shipping:</span> 
    <select name="shipping"> 
    <option value="0">Select a Shipping Method 
    <option value="7.95">3-5 days ($7.95) 
    <option value="9.95">2 days ($9.95) 
    <option value="12.95">Next Day ($12.95) 
    </select> 
</td> 

는, 어떤 도움이 좋을 것 : 여기

그가 제공하는 코드입니다. 편집

:

나는 제안 도움을 가져다가이를 넣어 :

function shipping_price() 
    { 
    var ship=document.getElementById("shipping"); 
    document.order.total.value=(shipping+sub_total); 
} 

<tr> 
    <td colspan="3" align="right"><span class="fmlabel">Shipping:</span> 
     <select name="shipping" onChange="shipping_price"> 
      <option value="0">Select a Shipping Method 
      <option value="7.95">3-5 days ($7.95) 
      <option value="9.95">2 days ($9.95) 
      <option value="12.95">Next Day ($12.95) 
     </select> 
    </td> 
    <td><input class="numbers" name="sub8" id="sub8" size="7" value="0.00" disabled></td> 
</tr> 

내가 운송 필드의 값을 변경하지만 넣어하지 않을 경우이 작동 "옵션 값을 ="로 배송 필드.

+0

그리고 시도 했습니까? – tymeJV

+3

우리가 당신을 위해 당신의 과제를 완전히 풀어주기를 기대한다면, 그런 종류의 학습은 학습의 전체 목적을 이깁니다! 최선을 다해 뭔가를 시도해 본 다음 우리와 함께하면 도움이 될 것입니다. –

+0

그래서 무엇을 시도 했습니까? – user65439

답변

0

이렇게하는 방법은 다양합니다. 깊이 읽을 사이트가 많이 있습니다. 아래 방법 중 하나입니다. 선택 항목의 값을 새 값으로 변경하면됩니다. 그런 다음 functionfirst()가 호출하고 functionfirst()가 선택한 값을 경고합니다.

<script> 
    function functionfirst(){ 
     var myselect = document.getElementById("shipping"); 
     alert(myselect.options[myselect.selectedIndex].value); 
    } 
    </script> 

    <td colspan="3" align="right"><span class="fmlabel">Shipping:</span> 
    <select id="shipping" name="shipping" onchange="functionfirst()"> 
    <option value="0">Select a Shipping Method</option> 
    <option value="7.95">3-5 days ($7.95)</option> 
    <option value="9.95">2 days ($9.95)</option> 
    <option value="12.95">Next Day ($12.95)</option> 
    </select> 
</td> 
+0

이것은 나에게 갈 방향을 주었고, 나는 일하기 시작했다. 그러나 필드의 선적 값을 어떻게 바꿔야 할까? 필드의 값은 "0.00"이며 주문의 전체 상자에 추가하지 않는 방법 – user3042333

+0

다음을 추가 할 수 있습니다 script.document.getElementById ("sub8")의 행. value = (myselect.options [myselect.selectedIndex] .value); –

+0

오버플로에서 대답에서 테를 수락하는 것을 잊지 마라. –