欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

写form提交应该注意的

程序员文章站 2022-05-13 09:49:40
...
前两天改bug,发现一个表单提交提交的问题,先上代码:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript" src="http://www.z7zba.com/js/jquery-1.4.4.min.js"></script>
</head>
<style type="text/css">

</style>
<body>
<?
print_r($_POST); echo "\r\n";
?>


<table border="0" cellpadding="0" cellspacing="0">
<form id="theFrom" name="theForm" action="demo.php" method="post">
<tr>
<td id="tdName"><input type="text" id="name" name="name" /></td>
</tr>
<tr>
<td><a href="javascript:searchName();">查找姓名</a> <a href="javascript:doSubmit();">提交</a></td>
</tr>
</form>
</table>

<script type="text/javascript">

function searchName()
{
//可以是ajax返回内容
var data = '<select id="nameId" name="nameId"><option value="1">Cheech</option><option value="2">Mark</option></select>';
$("#tdName").html(data);
}
function doSubmit()
{
$("#theFrom").submit();
}
</script>
</body>
</html>


当其中的 <input type="text" id="name" name="name" /> 被换成 <select id="nameId" name="nameId"><option value="1">Cheech</option><option value="2">Mark</option></select> 进行提交。

[b]$_POST['nameId']在使用 ie 浏览器提交,程序可正常接收到参数 ,而使用Chrome,FireFox提交,程序不能提收到参数[/b]

问题出在form的位置套错了。将form套在table外问题就解决了。如下:(其他不变)


<form id="theFrom" name="theForm" action="demo.php" method="post">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="tdName"><input type="text" id="name" name="name" /></td>
</tr>
<tr>
<td><a href="javascript:searchName();">查找姓名</a> <a href="javascript:doSubmit();">提交</a></td>
</tr>
</table>
</form>
相关标签: PHP