2012-06-13 2 views
0

다음은 간단한 문제입니다.양식 영역을 텍스트 영역으로 출력하는 JavaScript는 출력되는 텍스트 영역으로 끝나지 만 즉시 자신을 지울 수 있습니까?

폼 필드 집합의 값을 가져온 JavaScript 함수가 outputArea라는 다른 변수에 결합 된 다음 값을 변경하는 데 동일한 함수를 사용합니다. JScript (document.thisForm.outputArea.value = outputArea)에서 outputArea 용으로 만든 값에 "outputArea"라는 텍스트 영역을 추가합니다.

그러나 함수를 호출하는 "Make My Notes"버튼을 누르면 변수를 잡아 내 경고가 변수를 덤프하여 작동하는지 확인한 다음 양식 필드로 출력합니다. 그러나 즉시 함수가 완료된 후 즉시 지워집니다. 그 자체로는 outputArea를 포함하여 전체 양식이 지워짐을 의미합니다.

내 소스를 여러 번 확인했는데 재설정 버튼이나 함수 호출 후이 값을 지워야하는 사항에 대한 참조가 0 개이므로 손실이 발생했습니다.

<script type="text/javascript"> 
    function getNotes() { 
     var spokeTo = document.thisForm.spokeWith.value; 
     var problemWith = document.thisForm.problemWith.value; 
     var resolvedBy = document.thisForm.resolvedWith.value; 
     var thisTech = document.thisForm.techName.value; 
     var liveChat = document.thisForm.onLiveChat.value; 
     var passTo = document.thisForm.passTo.value; 
     var fSpace = ". "; 
     var fSign = " - "; 

     alert(spokeTo + problemWith + resolvedBy + thisTech); 

     outputValue = 'Spoke with: ' +spokeTo + fSpace + problemWith + resolvedBy + passTo + fSign + thisTech; 
     document.thisForm.outputArea.value = outputValue; 
     alert('DISMISS'); 
    } 

함수를 호출 버튼은 간단하다 : 아래

내 기능입니다

<input type="submit" class="button" value="Make My Notes!" onClick="javascript:getNotes();" tabindex="4" style="margin-right:1em;" /> 

출력 필드 : I 추가

<textarea name="outputArea" id="outputArea" onClick="this.select();" readonly="yes"></textarea> 

경고 ('DIS 미스'); (일시적으로) 사용자가 경고에 대해 OK를 누르도록 강요하여 양식을 중지 할 수 있는지 알아보기 위해 이상하게도 충분하지만, 문서를 호출하기 전에 경고를 호출합니다.이 형식. 출력 매개 변수. 값 = 출력 값, 나는 이해하지 못한다. 호출하고 출력 한 후에는 즉시 모든 양식 필드를 지 웁니다. 이것은 현재 전체 페이지에있는 유일한 자바 스크립트 기능이며 아무 데나 리셋 버튼이 없습니다.

나는이 톤을 이전에 수행했는데 실제로 비슷한 방법으로 실행 중이며 지금 당장 제대로 작동하는 응용 프로그램을 가지고 있으므로 완전히 당혹 스럽다. 도대체 내가 여기서 잘못하고있는거야?

나를 위해이 문제를 조사하는 데 시간을내어 주셔서 감사합니다. 건배!

답변

2

버튼이 제출 작업을 수행하기 때문에 실제로 페이지가 새로 고침되는 것처럼 보입니다. 이에 onClick 이벤트를 변경합니다

onClick="getNotes(); return false;" 

를이 (아마 자체) POST 요청을 생성하는 페이지가 처음으로 것처럼로드되기 때문에.

+0

재미 있니? 내가이 글을 올리 자마자 내 글을 다시 읽는다. (나쁜 질문을 게시하고 싶지 않기 때문에 세 번째로) 나는 type = "submit"보다는 "submit" 다른 페이지에서도 잘 작동합니다. 나는 지금 바보 같지만, 당신의 빠른 반응은 굉장하고, 감사하고, 완벽하게 일했습니다. 명확히하기 : 이것에 대한 답은 return false를 사용하거나; onClick에 있거나 submit 유형을 사용하지 않으려면 type = "button"을 사용하십시오. –

+0

그런 즉각적인 답변을 주셔서 대단히 감사합니다. 나는이 곳을 좋아한다. 죄송합니다. 쉬운 수정이었습니다. p –

+0

@MorganMarch : 문제 없습니다. 나는 그토록 많은 것을 항상 간과하고있다. 때로는 문제에 대한 또 다른 시각을 얻는 것만으로 충분합니다. 또는 누군가에게 설명하면 대개 내가 잘못하고있는 것을 보게됩니다. –

관련 문제