如何解决这在所有其他浏览器的IE bt中均不起作用
|| 这是我表格的代码<form method=\"post\" style=\"margin-left:15px;margin-top:6px;\" onsubmit=\"return map_Email_Validation();\">
<table>
<tr>
<td colspan=\"2\" class=\"faceBoxheading\" style=\"white-space:Nowrap;\">Share your map information with your friends</td>
<td colspan=\"2\" align=\"left\"><a href=\"javascript:void(0);\" class=\"hrf_btn\" onclick=\"hide_faceBox();\">[x]</a></td>
</tr>
<tr></tr>
<?PHP if($error) {?>
<tr>
<td colspan=\"2\" class=\"faceBoxheading\"><?PHP echo $error;?></td>
</tr>
<?PHP }?>
<tr>
<td width=\"100px\">To Email</td>
<td width=\"250px\"><input type=\"text\" name=\"ToID\" id=\"ToID\" style=\"width:274px;\" onkeyup=\"dis();\"/></td>
</tr>
<tr>
<td>From Email</td>
<td><input type=\"text\" name=\"fromID\" id=\"fromID\" style=\"width:274px;\" onkeyup=\"dis();\" value=\"\'.$g[\'email\'].\'\" /></td>
</tr>
<tr>
<td>Subject</td>
<td><input type=\"text\" name=\"subject\" id=\"subject\" style=\"width:274px;\" onkeyup=\"dis();\"/></td>
</tr>
<tr>
<td>URL</td>
<td><input type=\"text\" readonly=\"readonly\" name=\"URL\" id=\"URL\" size=\"42\" style=\"width:274px;\"/></td>
</tr>
<tr>
<td>Message</td>
<td valign=\"top\"><textarea id=\"message\" name=\"message\" cols=\"25\" rows=\"4\" style=\"width:274px;\" onkeyup=\"dis();\"></textarea></td>
</tr>
<tr><td></td>
<td> <input type=\"image\" style=\"margin-left:-2px;\" src=\"http://jersey.cimaps.co.uk/jersey_dev/templates/default/images/send.png\" name=\"submitbtn\" id=\"submitbtn\" value=\"Send\"/></td>
</td></tr>
</table>
</form>
这些功能是
function map_Email_Validation()
{
var ToID = document.getElementById(\'ToID\').value;
//var fromID = document.getElementById(\'fromID\').value;
var subject = document.getElementById(\'subject\').value;
var message = document.getElementById(\'message\').value;
var char_at=ToID.indexOf(\"@\");
var char_dot=ToID.indexOf(\".\");
var char_dolar=ToID.indexOf(\"$\");
var char_hash=ToID.indexOf(\"#\");
var at=\"@\";
var lat=ToID.indexOf(at);
if(ToID.length<1)
{
alert(\'Please enter To Email!\');
return false;
}
else if((char_at==-1)||(char_dot==-1)||(char_dolar!=-1)||(char_hash!=-1))
{
alert( \'Invalid To Email!\');
return false;
}
else if((char_at==0)||(char_dot==1)||(char_dot==char_at+1))
{
alert( \'Invalid To Email!\');
return false;
}
if(subject.length<1)
{
alert( \'Please enter Subject!\');
return false;
}
if(message.length<1)
{
alert( \'Please enter Message!\');
return false;
}
else if(message.length>100)
{
alert( \'Message can have only 100 characters!\');
return false;
}
return true;
}
code in index page is
if(isset($_POST[\'submitbtn\']))
{
//echo \"set\";
$flag=true;
$error=\"\";
/*Getting Values**********************/
$ToID=$_POST[\'ToID\'];
$fromID=$_POST[\'fromID\'];
$subject=$_POST[\'subject\'];
$URL=$_POST[\'URL\'];
$message=$_POST[\'message\'];
/*Validating the data*****************/
if(strlen($ToID)==0)
{
$flag=false;
$error.=\"Enter To email address field\";
}
elseif(!preg_match_all(\"|^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$|U\",$ToID,$arr))
{
$flag=false;
$error.=\"Invalid To email address\";
}
if(strlen($subject)==0)
{
$flag=false;
$error.=\"Enter subject field\";
}
if(strlen($message)==0)
{
$flag=false;
$error.=\"Enter message field\";
}
elseif(strlen($message)>100)
{
$flag=false;
$error.=\"Message can have only 100 charaters\";
}
if($flag==\"true\")
{
$urltoemail = \"<html><head><title>Forgot Password</title></head><body>
<table><tr><td>\".$message.\"</td></tr><tr><td><a href=\'{$URL}\'>Click here for viewing map</a></td></tr></table></body></html>\";
$headers = \"MIME-Version: 1.0\" . \"\\r\\n\";
$headers .= \"Content-type:text/html;charset=iso-8859-1\" . \"\\r\\n\";
if(strlen($fromID)==0)
$fromID = \'info@cimaps.co.uk\';
$headers .= \"From: $fromID \\r\\n\";
mail($ToID,$subject,$urltoemail,$headers);
//header(\"Location:\".$_SERVER[\'SCRIPT_NAME\']);
}
}
邮件不是在IE中发送的,而是在所有其他浏览器中成功发送的。
解决方法
我不确定,我也不完全了解您所做的修复。但是对我来说,IE8和FF4中的检查“ 2”均失败。在Chrome12中工作正常。原因是当您使用3类按钮提交表单时,需要像下面这样检查:
if(isset($_POST[\'submitbtn_x\'])) {
...
...
}
而且该检查将在所有浏览器上都有效。要检查这一点,您可能想在if()开始之前做一个print_r($_POST)
,然后看它的样子。
希望这有助于解决您的问题。
/阿拜
, 确实很难阅读代码并确定要问的内容。
但是,由于邮件不是客户端活动,因此几乎可以肯定这是与发送到服务器(即在POST中)无关的问题。尝试在首次收到该页面的POST时在代码中放置一个断点,并将IE中的POST值与Chrome / Firefox进行比较。我猜您会发现它们是不同的,可以很快解决。
更新-如果您尝试执行此操作而不是查找指定的提交,该怎么办:
if (!empty($_POST))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。