【问题标题】:PHP form not working in Internet ExplorerPHP 表单在 Internet Explorer 中不起作用
【发布时间】:2012-11-09 17:19:49
【问题描述】:

我创建了这个联系表单,它在 firefox 和 chrome 中完美运行,但在 Internet Explorer 中它不允许您输入文本(单击表单字段没有任何作用)提交按钮有效但只发送空白消息,因为没有文本可以被输入。此外,当您按下提交时,它会尝试在 firefox 页面中打开 mail.php,我只是在我的电脑上进行本地测试,这可能是问题吗?

PHP 是这样的:

<?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
    $formcontent="This message has been generated from the Contact page \n Name: $name \n Phone: $phone \n Email: $email \n Message: $message";
    $recipient = "myemail@myemail.co.uk";
    $subject = "Enquiry From contact page";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    header('Location: ../contact2.html');
?>

HTML 是:

<form id="form1" action="PHP/mail.php" method="post">
    <label>Name <span class="small">Add your name</span></label> 
    <input type="text" name="name"><br>
    <label>Email <span class="small">Enter a Valid Email</span></label> 
    <input type="text" name="email"><br>
    <label>Phone <span class="small">Add a Phone Number</span></label> 
    <input type="text" name="phone"><br>

    <br>
    <br>

    <label>Message <span class="small">Type Your Message</span></label> 
    <textarea name="message" rows="6" cols="25">
    </textarea><br>
    <button type="submit" value="Send" style="margin-top:15px;">Submit</button>
    <div class="spacer"></div>
</form>

【问题讨论】:

  • 我想有一些与它相关的javascript?
  • 您需要提供更多信息,即:任何可以禁用元素的JS。不过,在切线上,您确实应该 /> 那些输入。
  • 你试过&lt;input type="submit" value="Send"&gt;吗? IE 上的按钮元素存在一些错误
  • 也许某些 div 与 IE 中的文本区域重叠?
  • 没有“PHP 表单”之类的东西。

标签: php html internet-explorer contact


【解决方案1】:

你应该像这样关闭你的标签:

<input type="text" name="email" />

换行标签也是如此:

<br />

任何不需要中间内容的标签都应该这样关闭。图像标签是另一个例子。

<img src="myimg.png" />

另外,我会使用一个按钮,因为我认为它使代码看起来更干净:

<input type="submit" value="Send" />

【讨论】:

  • 好的,我现在已经正确关闭了我的所有标签,并用
    这应该是一个相当简单的修复。尝试向您的表单标签添加一个目标,如下所示:
    如果您仍然遇到问题,我可以帮助您工作对此,只需通过gatorfunk.com 的“联系”选项卡与我联系 - 我会通过电子邮件回复您。
【解决方案2】:

仅基于您拥有的表单,我能够在 Chrome、FireFox 和 IE8 中的表单中输入文本。

把你的html表单代码放在一个独立的文件HTML文件中,在IE中测试看看你是否得到相同的行为。

测试 HTML 文件会将问题缩小到仅检查浏览器是否删除了其他变量,例如 PHP 服务器或 javascript。

-如果您遇到同样的问题:这是一个独立于该 PC 的 IE 问题。

-如果您没有遇到同样的问题:可能是您的 php 配置或 javascript 有问题。

            <form id="form1" action="PHP/mail.php" method="post">
                <label>Name <span class="small">Add your name</span></label> <input type="text" name="name" /><br />
                <label>Email <span class="small">Enter a Valid Email</span></label> <input type="text" name="email" /><br />
                <label>Phone <span class="small">Add a Phone Number</span></label> <input type="text" name="phone" /><br />
                <br>
                <br>
                <label>Message <span class="small">Type Your Message</span></label> 
                <textarea name="message" rows="6" cols="25">
                </textarea><br>
                <button type="submit" value="Send" style="margin-top:15px;">Submit</button>
                <div class="spacer"></div>
            </form>

【讨论】:

  • 谢谢 Mike,我尝试了你所说的,现在它确实允许文本输入,因为我将按钮更改为输入 type=submit,但是在 IE 中单击提交时它仍然产生相同的结果,所以它是一台 PC发布我的结局?
  • 一个简单的检查方法是在不建立另一个服务器或开发环境的情况下将 html 文件带到另一个运行 IE 的设备上。但我能够在我的机器上为您的表单进行一切工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 2013-04-22
  • 2011-10-01
  • 1970-01-01
  • 2017-05-19
相关资源
最近更新 更多