2014-09-10 22 views
0

我搜索沒有運氣,所以請原諒我,如果這是多餘的。我是Python的新手,並且有一個簡單的HTML表單(在提交時)清除表單,通過action.py腳本發送一封電子郵件,並在相同的表單頁面上發送一條消息(提醒js)。郵件得到正確發送,但表單不清除,我沒有收到警報消息。該(精簡)HTML形式是:Python腳本沒有觸發jQuery窗體通過ajaxForm重置

<form id="myForm" method="post" title="Contact Info Request Form" action="action.py"> 
    <fieldset> 
     <input type="text" title="field for entering your name" name="name" id="name" maxlength="50" placeholder="Name" /> 
     <input type="text" title="field for entering your email address" name="email" id="email" maxlength="50" placeholder="Email" /> 
     <textarea title="field for entering your message" name="message" id="message" rows="5" cols="4" maxlength="1000"placeholder="Message"></textarea> 
     <input type="submit" class="submit" name="submit" value="send message" /> 
    </fieldset> 
</form> 

我的jQuery腳本是:

$(document).ready(function() { 
    $('#myForm').ajaxForm(function() { 
     $('#myForm').trigger("reset"); 
     alertify.success("Message sent. Thank you!"); 
    }); 
}); 

和我action.py腳本是:

#!/usr/bin/python 
import os 
import cgi, cgitb 
import sys 

SENDMAIL = "/usr/sbin/sendmail" # sendmail location 

form = cgi.FieldStorage() 

if form.getvalue('email') is not None: 
    FROM = form.getvalue('email') 
else: 
    FROM = "[email protected]" 
TO = ["[email protected]"] 

SUBJECT = "A message from your site!" 
NAME = form.getvalue('name') 
TEXT = form.getvalue('message') 

# Prepare actual message 

message = """\ 
From: %s 
To: %s 
Subject: %s 

Name: %s 
Message: %s 
""" % (FROM, ", ".join(TO), SUBJECT, NAME, TEXT) 

# Send the mail 
p = os.popen("%s -t -i" % SENDMAIL, "w") 
p.write(message) 
p.close() 
sys.exit() 

我的權限設置正確的初始表單頁面,以及python腳本(action.py)。我稍後會添加一些驗證,但我現在想要做這個工作。調用action.py可以直接在命令行中正常工作,但我希望它能夠在HTML表單頁面上運行。我最初有一個action.php(基本上在PHP中是相同的),完美的工作,但我一直在試圖使它在python中工作。感謝您提供給我的任何建設性幫助!

回答

0

這是在黑暗中拍攝的,但嘗試return false後觸發器重置和alertify成功的東西。

+0

沒有運氣。我已經添加了返回false到ajaxForm函數,但它仍然是不正確的。不管怎麼說,多謝拉! – Jack 2014-09-10 14:51:58