`
jinhanjiang
  • 浏览: 18423 次
  • 性别: Icon_minigender_1
  • 来自: 勉县
文章分类
社区版块
存档分类
最新评论

写form提交应该注意的

阅读更多
前两天改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>&nbsp;<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> 进行提交。

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

问题出在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>&nbsp;<a href="javascript:doSubmit();">提交</a></td>
    </tr>
</table>
</form>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics