2011-12-29 3 views
0

간단한 함수 그래프 y=k*x+b을 만들려고합니다.계산을 위해 HTML 입력 양식 내용 전달

1/3의 * X + 3

및 그/그녀가 제출 버튼을 클릭하면, 자바 스크립트 함수로되어있다 :
사용자는 예를 들어, 입력 필드에 함수 진입 (변수 x가 한계가 있으므로 I 만 여기 특정 y 값을 얻을 필요) 실제 계산 순서 등이 입력 값을 취하고 그것을 변수를 할당 :

for (x=1;x<=40;x++) 
{ 
    result = window.document.menu.inputFunction.value; 
} 

상기 코드는 작동하지 않는다. 이유가 궁금하지 않습니다. - 저는이 초보자에 불과합니다. 그러나,이게 정말 보이는 것보다 더 힘든가, 아니면 나는 뭔가를 놓치고 있는가? 한 번에 정규식을 사용하는 것을 고려했지만 사용법을 생각해도 머리가 아파요.

아이디어가 있으십니까?

답변

2

당신은 그것을 eval 수 :

  • 사용자는 변수 이름으로 x을 사용해야합니다

    • 사용자가 유효한 자바 스크립트 표현식을 입력해야합니다

      result = eval(window.document.menu.inputFunction.value); 
      

      분명히이 방법에 대한 몇 가지 제한이 있습니다 이것이 루프에서 사용하고 있기 때문입니다.

    • 코드는 취약합니다. 사용자가 그가 좋아하는 자바 스크립트 표현을 실행하십시오.

    더 강력한 솔루션을 얻으려면 mathematical expression evaluator 자바 스크립트를 사용하는 것이 좋습니다.

  • +0

    답장을 보내 주셔서 감사합니다. 이 그래프는 오프라인에서만 사용되므로 보안에 문제가 있다고 생각하지 않습니다. 또한 여기에는 SQL 데이터베이스가 없으므로 SQL 주입 위험도 사라졌습니다. 그리고 예, 구문에 대해 사용자에게 알리기 위해 팝업 상자 (툴팁)를 추가 할 것입니다. 양식을 필터링하고 유효성을 검사해야합니까? 무엇이 잘못 될 수 있습니까? 사용자가 어떤 코드를 실행할 수 있습니까? 그래프를 업로드하면 서버에 손상을 줄 수 있습니까? – Onion

    +0

    링크를 가져 주셔서 감사합니다. 그러나 교육적인 목적으로이 자바 스크립트 코드의 개발을 직접 연습하고 싶습니다. – Onion