2014-11-24 2 views
-1

은 내가 그것에 대해 많이 이야기했지만, 나는 이러한 옵션의없이 성공을 많이 시도 알고, 제가 잘못 여기에 한 일을 알려 주시기 바랍니다 :통화 기능

<html> 
    <head> 
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> 
    <title>IP</title> 
    <% 
    function su192168165() 
     Dim fso192168165, f, filespec, wrln 
     set wrln = Document.getElementById(192168165).Value 
     Set fso192168165 = CreateObject("Scripting.FileSystemObject") 
     filespec = Server.Mappath("/comment/192168165Comments.txt") 
     Set f = fso192168165.OpenTextFile(filespec,2) 
     f.WriteLine wrln 
     f.Close 
    End function 
    %> 
    </head> 
    <body> 
    <input type="text" id="192168165" name="Comment" value=""/><input type="button" value="Comment" onclick="su192168165()"/> 
    </body> 
    </html> 

이것은 주석을 쓰는 장소가 포함 된 HTML 코드이며, 버튼을 클릭하면 주석을 파일에 써야하지만 작동하지 않습니다.

나는 또한 하위 문제와 동일한 문제를 대체하려고했습니다. 코드 8 행에 "set wrln = Document.getElementById (192168165) .Value"

내가 여기서 잘못 쓴 것을 알려주십시오. 감사합니다 탈

답변

2

당신이하고있는 일은 여러 수준에서 불가능합니다. 여기에있는 문제에 대한 간단한 개요를 알려 드리겠습니다.

간단한 onClick 메서드에서 서버 파일에 이러한 종류의 쓰기를 수행 할 수 없습니다.

당신이 생각할 수있는 것처럼 보이지 않는 것은 불가능하다는 말이 아닙니다.

시작하기 전에 기본적인 관점에서 코드의 문제점을 강조하고 싶습니다. onClick 메서드가 VBScript 함수를 호출하려고합니다. 이것은 불가능합니다. 이해해야 할 점은 VBScript는 서버 스크립팅 언어이고 onClick은 일반적으로 클라이언트에서 실행되는 javascript를 트리거하는 이벤트 처리기입니다. 클라이언트가이 페이지를 다운로드하면 서버는이 코드를 실행하고 더 이상 존재하지 않게됩니다. 서버가 VBScript 함수를 클라이언트으로 전달하지 않습니다.

잘하면 그게 의미가 있고, 수행하고 싶은 작업을 어떻게 수행 할 수 있는지에 대한 질문 만 남겨두기를 바랍니다. 내가 추천하는 간단한 방법은 해당 필드에 양식을 추가하고 단추가 양식을 같은 페이지에 다시 게시하도록하는 것입니다. 그런 다음 Request.Form 메서드를 사용하여 함수의 필드를 호출 할 수 있습니다. 버튼에서 다시 게시했는지 확인하는 간단한 if 조건으로 함수를 변경하고 싶을 수도 있습니다. 당신이 선택한 방식은 당신에게 달렸습니다.

위의 방법이 효과가 없다고 가정 해 보겠습니다. 어떤 이유로 포스트 백을 할 수 없습니다. 어떤 이유로이 작업을 비동기 적으로 수행해야합니다. 이 경우 Ajax 호출을 개발해야한다. PHP에서 똑같은 일을 할 때이 SO 링크를 보면이 방법으로 시작하기 위해 알아야 할 것이 무엇인지 알 수 있습니다 : Saving a text file on server using JavaScript.

그렇지 않으면 고전 ASP에서 비동기 포스트 백을 수행하는 방법에 대한 자습서를 찾아야 할 것입니다. 행운을 빕니다.

+1

VBScript는 "스크립트 언어"이며 클라이언트 측과 서버 측 모두 일 수 있습니다. Classic ASP로 작업하는 측면에서 "서버 측"으로 사용되는 기본 스크립팅 언어입니다. 또한 VBScript 클라이언트 측을 사용하는 경우 Internet Explorer를 제외한 대부분의 브라우저에서 지원되지 않습니다. – Lankymart

+1

** VB **를 VBScript와 혼동하지 마십시오. VB는 완전한 프로그래밍 언어이고 VBScript는 동일한 스크립팅 언어입니다. – Lankymart

+1

다른 기술 (이 경우 PHP)을 도입하면 OP가 어떻게 도움이됩니까? – Lankymart