2008-11-15 1 views
1

나는 단순한 요구가있는 단순한 영혼이며 양식을 구성하려고합니다. 나는 형식을 싫어합니다.HTML 양식에 대한 JavaScript

데이터를 전송하려면 JavaScript가 있어야하며 데이터가 포함 된 전자 메일을 전자 메일 주소로 보내야하며 방문자를 pdf로 리디렉션해야합니다. CGI는 항상 나에게 혼란스럽고, 자바 스크립트에 대해서는 많이 모른다.

나는 이미 html을 끝 냈지만, 포스트 액션과 자바 스크립트가 나를 죽이고있다. 4 시간 동안 검색했습니다. 나 한테는 포크를 찔러 라. 끝났어.

답변

0

좋아요, 먼저, 먼저 문구를 분명히해야합니다. JavaScript와 Java는 크게 다른 두 언어입니다.

메일을 보내려면 SMTP 서버와 함께 사용하는 언어를 사용해야합니다. 실제로는 클라이언트 측 JavaScript가 아닌 전자 메일을 보내야합니다.

여기에서 찾을 수 있습니다 SMTP 서버에 게시 자바 스크립트를 사용하는 예는 (액티브 X는 IE 독점 나는이 방법을 권하고 싶지 않다하더라도) : 자바 스크립트, 최선의 방법으로 궁극적으로 http://www.ostrosoft.com/smtp_component/smtp_javascript.asp

당신 ' d 사용은 비 SMTP 서버에 게시 한 다음 SMTP 서버로 데이터를 보냅니다.

실제로 Java를 사용하는 경우 JavaMail이라는 추가 라이브러리를 사용하여 훨씬 쉽게 메일을 보낼 수 있지만 SMTP 서버와 통신해야합니다. 는 양식 독점적가 메일을 전송하기 위해 만든되는 formmail를 형식, 같은 소리 http://www.javapractices.com/topic/TopicAction.do?Id=144

0

, 그것은 정말 자바 스크립트를 필요로하지 않지만, 확실히 필요 :

JavaMail에의 예는 여기에서 찾을 수 있습니다 숨겨진 필드의 점수 및 추출하려는 모든 정보는 양식에 고유 한 섹션/필드가 있어야합니다. 그런 다음 양식을 확인하고 필요 자바 스크립트 thrusted 수 없습니다 (재확인 후 느릅 나무 서버로 전송 등)

+0

클라이언트가 javascript를 요청했습니다. 그냥 배달하려고합니다. –

1

소리)와에 메일 요청을 보냅니다 -

그럼, 질문은 전자 메일 서버.

쉽고 광범위하게 지원되므로 양식을 다시 유효화하고 요청을 전자 메일 서버로 보내는 서버에 PHP를 사용하는 것이 좋습니다.

는이 HTML

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="script.js"></script> 
<form id="emailForm" method="post" action="mail.php"> 
    <input type='text' name='firstName' id="firstName"><br> 
    <input type='text' name='lastName' id='lastname'><br> 
    <input type='submit' value='submit' name='submit'> 
</form> 

당신은 사용자가 자바 스크립트와 jQuery를 사용하여 모든 분야에서 무언가를 입력했는지 확인 할 수있는 말.

var formIsOkay = true; 
$(document).ready(function() { 
$('#emailForm').submit(function() { 
    $('#emailForm input').each(function() { 
     if (this.val() == '') { formIsOkay = false; } 
    } 
    return formIsOkay; 
} 
} 

을 그리고 email.php로에서이 같은 것이다 : 말 파일 script.js에, 당신은

<?php 
$to = '[email protected]'; 
$from = '[email protected]'; 
$subject = 'Form'; 
$message = 'Hello, the following variables were supplied:<br>'; 
foreach($_POST as $key => $val){ 
    $message .= "$key = $val<br>"; 
} 
$message = wordwrap($message, 70); 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "To: $to" . "\r\n"; 
$headers .= "From: $from" . "\r\n"; 
mail($to, $subject, $message, $headers); 
?> 

당신은 PHP는이에 대한 서버에서 실행해야합니다, 그리고 PHP에서 SMTP 서버 설정,하지만 대부분의 서버 가이 있습니다. 참고 btw PHP가 지금 양식을 재정렬하지 못하는 방식으로 누군가가 빈 양식을 제출할 때 여전히 전자 메일로 전송됩니다.

+0

고맙습니다. 매우 도움이됩니다. –