2010-02-25 4 views
1

수량이 1 (텍스트 상자를 통해) 인 경우 양식에 특정 값을 포함 시키길 원합니다.자바 스크립트가 비활성화되었을 때 폼에 로직 추가

총 비용이 자바 스크립트를 사용하고 있음을 보여 주었고이 값으로 제출할 수 있었지만 자바 스크립트를 사용 중지하면 사용자가 추가 비용없이 양식을 제출할 수 있다고 걱정됩니다. 덧붙였다. 그 때문에 요금을 피합니다.

<form> 
    <label>Qunatity</label> 
    <input type="text" name="qyt" /> 
    <input type="text" name="fee" value="250" /> 

    <div class="total">[whatever the total is]</div> 

    <input type="submit" value="submit" /> 
</form> 

1의 양이 폼에 추가되는 경우에만 250를 제출하도록 내가이 양식을 제출할 수있는 방법이 있나요? 선택 입력을 사용하지 않는 것이 좋습니다.

이 작업을 수행하려면 양식을 두 단계로 나눠야합니까?

답변

3

서버 측 코드에서 논리를 확인해야합니다.

대부분의 사람들은 Javascript를 사용할 수 있으므로 더 나은 환경을 제공하려면 Javascript로해야하지만 항상은 서버의 논리를 재생해야합니다.

+1

실제로; 유효성 검사를 위해 JavaScript에만 독점적으로 의존하는 것은 기술적으로 보안 취약점입니다. 어떤 스크립트 아이도 텔넷을 열어 수동으로 HTTP를 입력하여 JS 유효성 검사를 회피 할 수 있습니다. 자바 스크립트는 사이트에 편의성과 유용성을 추가 할 수는 있지만 의존하지 않습니다. –

+0

감사합니다. 이러한 이유 때문에 JavaScript에 의존 할까봐 걱정했습니다. 어떻게 텍스트 입력 필드와 함께이 논리를 얻을 수 있습니까? 합계를 산출하기 전에 먼저 양식을 제출해야합니까? – Mindthetic

+2

JavaScript로 총계를 계산하여 사용자에게 보여줄 수는 있지만 합계를 제출하지 마십시오. 수량과 수수료 값을 제출 한 다음 서버 측에서 다시 합계를 계산하십시오. –

0

이 문제를 해결하는 가장 좋은 방법은 서버 측에서 전체 계산을하는 것입니다. 그렇게하면 저장하는 데이터가 항상 정확합니다.

1

JavaScript없이 입력 내용의 유효성을 검사해야하는 경우 서버 측 구성 요소 (PHP?)를 사용하여 작업을 수행하고 양이 지정되지 않은 경우 오류 메시지와 함께 동일한 양식을 반환하십시오. 그렇게하면 양식을 두 단계로 나눌 필요가 없습니다.

관련 문제