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

写form提交应该注意的

PHP 
阅读更多
前两天改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>


分享到:
评论

相关推荐

    防止Layui form表单重复提交的实现方法

    通过form.on("submit(formConfig)",function(data){...})的调用,开发者可以指定当具有特定lay-filter属性的表单触发提交事件时,执行相应的函数。在这个函数内部,返回false可以阻止表单的提交,即阻止表单数据被...

    C# post方式提交Form表单

    在IT行业中,C#是一种...通过以上内容,你应该对C#中如何使用POST方式提交Form表单有了全面的理解。在实际项目中,你可以根据具体需求对这个基础示例进行扩展,例如添加自定义的请求头、处理Cookies、设置超时时间等。

    使用JQuery实现从JSON对象转换为form提交数据

    本篇文章将深入探讨如何利用jQuery从JSON对象转换为form提交数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和...

    ajaxForm异步提交表单(含图片)

    AjaxForm是jQuery Form Plugin的一个功能,用于实现异步表单提交,特别是处理包含图片在内的复杂数据。本文将深入探讨如何使用ajaxForm进行异步表单提交。 首先,让我们了解什么是Ajax。AJAX(Asynchronous ...

    php curl模仿form表单提交图片或文件

    在本文中,我们将深入探讨如何使用PHP的cURL库来模仿form表单提交,特别是提交图片或文件。我们将结合ThinkPHP5(简称TP5)框架来展示一个实际的例子。 首先,了解cURL。cURL是一个客户端URL传输库,它支持多种协议...

    layui form表单提交之后重新加载数据表格的方法

    这里使用了`form`模块的`on`方法来监听表单的提交事件。参数`'submit(search)'`表示监听具有`lay-filter="search"`属性的表单的提交事件。一旦该表单被提交,就会执行回调函数,并且能够获取到表单中的数据。 ###...

    EXT异步提交FORM表单

    ### EXT异步提交FORM表单知识点详解 #### 一、EXT异步提交FORM表单概述 在现代Web应用开发中,异步提交表单是一种常见的技术手段,它能够提升用户体验,减少页面刷新带来的数据丢失风险,并能有效提高系统的响应...

    js的form表单提交url传参数(包含+等特殊字符)的两种解决方法

    这种方法通过JavaScript动态创建一个form元素,将需要提交的参数值编码后加入到表单的action属性中,然后模拟form的提交行为。示例代码如下: ```javascript linkredwin=function(A,B,C,D,E,F,G){ var formredwin=...

    asp.net Form提交的图片批量上传

    ASP.NET Form提交的图片批量上传是一项常见的Web开发任务,它涉及到客户端与服务器之间的数据交互,以及文件处理技术。在这个过程中,用户可以选择多张图片并一次性发送到服务器进行存储或处理。下面将详细介绍这个...

    ajax提交form表单

    在IT领域,特别是Web开发中,使用Ajax(Asynchronous JavaScript and XML)进行form表单的无刷新提交是一项关键技能。这种技术允许网页在不重新加载整个页面的情况下与服务器交互,从而提高了用户体验。以下是对给定...

    jquery.form.js实现将form提交转为ajax方式提交的方法

    值得注意的是,虽然jquery.form.js提供了一个非常方便的接口来实现Ajax提交,但是它并不是必需的。在某些情况下,开发者也可以不使用任何插件,直接用原生JavaScript或者jQuery来实现相似的功能。通过AJAX的...

    jqueryformjs实现将form提交转为ajax方式提交的方法.docx

    这里需要注意的是,文档中提到使用了`jquery-1.7.min.js`,但实际上应该使用未压缩的版本(`jquery-1.7.js`)以确保插件兼容性。 ##### 第二步:编写表单 ```html &lt;form id="showDataForm" action="/024pm/f_...

    layui form表单提交后实现自动刷新

    5. 如果使用了layui内置的提交属性和方法,确保正确使用lay-filter值,并注意form.on方法中filter参数的正确设置。 在文章的最后,作者提到的所有问题和注意事项,都是在实际开发过程中可能遇到的常见问题。通过...

    解析php防止form重复提交的方法

    在这个示例中,我们定义了一个函数check_form(),它会检查表单的提交状态以及表单元素的值。如果表单尚未填写完整,或者已经被提交过,函数会返回false阻止表单提交,并弹出相应的提示信息。 服务器端的防御策略则...

    multipartform-data 参数传递

    需要注意的是,当没有选择文件时,表单会提交到一个特定的URL (`../weibo/publicPicWeibo`),而如果选择了文件,则会提交到另一个URL (`../uploadPic`)。这种方式可以根据实际情况灵活处理不同的上传场景,例如只...

    浅谈layui 绑定form submit提交表单的注意事项

    在本文中,我们将深入探讨layui框架中如何绑定form submit提交表单时需要注意的事项。layui是一个流行的前端组件库,提供了丰富的UI元素和便捷的API,其中包括表单处理功能。下面,我们将详细介绍两个关键点:lay-...

    php防止form重复提交的方法

    注意,这种方法依赖于客户端的Cookie支持,如果用户禁用了Cookie,这种方法将无法有效防止重复提交。 3. **利用Session**: Session存储在服务器端,可以用来记录表单的提交状态。创建一个随机数作为Session变量...

    使用Ajax方法实现Form表单的提交及注意事项

    在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说想要将控制权放在前端,...

    一个from表单提交多个功能

    需要注意的是,这些按钮的类型设置为`button`而不是`submit`,这是因为`submit`类型的按钮默认会触发表单的提交行为,而我们希望通过自定义函数来控制这个过程。 #### JavaScript实现 接下来是实现的核心部分——...

    使用AJAX提交Form表单

    二、使用AJAX提交Form表单的步骤 1. 创建XMLHttpRequest对象:在JavaScript中,我们首先需要创建一个XMLHttpRequest对象,这通常是异步的,意味着它不会阻塞页面的其他操作。 ```javascript var xhr = new ...

Global site tag (gtag.js) - Google Analytics