Python脚本不通过ajaxForm触发jQuery表单重置

时间:2014-09-10 13:56:55

标签: jquery python html ajax forms

我搜索没有运气,所以请原谅我,如果这是多余的。我是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中运行。感谢您提供给我的任何建设性帮助!

1 个答案:

答案 0 :(得分:0)

这是一个黑暗中的镜头,但在触发器重置和alertify成功之后尝试return false