是否可以使用jquery / javascript制作和提交表单,仅使用页面的.html`扩展名。?

时间:2011-02-20 05:46:17

标签: php javascript jquery css xhtml

是否有必要将页面扩展名从.html更改为.php或.aspx以制作工作表单?

我正在制作单页网站。我需要在页面上创建一个包含3或4个字段的表单。并且表单的数据应该转到我将定义的电子邮件地址。

是否可以仅使用.html页面使用jquery / javascript制作和提交表单。?

或如果我iframe页面中的.html形式不可能,那么它会起作用吗?

3 个答案:

答案 0 :(得分:1)

您需要使用服务器端脚本语言来处理表单。根据您的服务器,您可以向页面添加所需的任何扩展名,并使用服务器重写引擎在内部将其重定向到.php页面。

您也可以非常轻松地使用ajax将表单提交到.php脚本而不进行重写但是没有javascript,表单会失败或者用户会看到.php扩展名。

答案 1 :(得分:1)

您在询问是否需要服务器端代码(因为服务器端脚本可以包含任何扩展名,包括html)。答案是肯定的,如果您要发送电子邮件,则需要代码。也可以使用iframe,表单将通过Iframe嵌入到HTML页面中。

如果你想要做的就是为页面添加html扩展名,你应该使用网络服务器的重写功能,而不是iframe。

此外,来自this page

  

如果你打算拥有你的   整个网站显示为静态HTML页面   而实际上是由...生成的   (比方说)PHP,而不仅仅是孤立的   如上所述的页面,更简单   比上面概述的方法是   只需将以下行添加到您的   .htaccess文件:

AddType application/x-httpd-php .html

答案 2 :(得分:0)

如果您没有使用任何服务器端脚本语言,那么您将无法自动发送邮件。要发送邮件,您需要邮件服务器。

但是如果您想让用户自己发送邮件,那么您可以使用“mailto:”功能。使用邮件可以弹出用户的前景,甚至也可以使用GMAIL。

但在这里,责任是用户的责任。如果用户不想发送邮件,那么他/她可以。

<form action="mailto:you@youraddress.com" enctype="text/plain" 
method="POST" onsubmit="sendMail(this);return false;">
<select name="selOne">
<option value="Dog">Dog</option>
<option value="Cat">Cat</option>
</select>
<textarea name="txtOne"></textarea>
<input type="submit" value="Submit" />
</form>

<script type="text/javascript">
function sendMail(_frm) {
    var eml = "you@youraddress.com";
    var bod = "&body=" + _frm.selOne.value + " ¦¦ " + _frm.txtOne.value;
    var subj = "?subject=Whatever you want";
    location.href = "mailto:" + eml + subj + bod;
}
</script>

有关详情,您可以谷歌搜索“使用JavaScript的mailto”。 如果您使用的是任何服务器端语言,则情况就不同了。