我搜索没有运气,所以请原谅我,如果这是多余的。我是Python的新手,有一个简单的HTML表单(在提交时)清除表单,通过action.py脚本发送电子邮件,并在同一表单页面上提醒消息(alertify js)。电子邮件正确发送,但表单不清除,我没有收到警报消息。 (简化的)HTML表单是:
<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 = "no-reply@DOMAIN.com"
TO = ["ACTUALMAIL@address.com"]
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 :(得分:0)
这是一个黑暗中的镜头,但在触发器重置和alertify成功之后尝试return false
。