免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: alinker
打印 上一主题 下一主题

[solved 表单] 可以不用JScript而用纯PHP在同一表单上实时的判断用户输入吗? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-05-25 18:01 |只看该作者
原帖由 HonestQiao 于 2006-5-25 16:58 发表
也可以,但是你必须用到js,因为php目前还只能运行在服务端,不能作为客户的浏览器的插件语言

这个想法很新鲜.------php提供一个客户端的浏览器插件---在安全的前提下,和服务器端通信.
可惜浏览器实在是太多了.不过没关系,操作系统还那么多呢

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
12 [报告]
发表于 2006-05-26 09:03 |只看该作者
原帖由 axgle 于 2006-5-25 18:01 发表

这个想法很新鲜.------php提供一个客户端的浏览器插件---在安全的前提下,和服务器端通信.
可惜浏览器实在是太多了.不过没关系,操作系统还那么多呢


js已经完全足够而且可以很好地与php搭配使用在客户端,你这是何必呢》

论坛徽章:
0
13 [报告]
发表于 2006-05-26 22:41 |只看该作者
gmail好像是这样做的,用了ajax技术吧,LZ这个问题感觉根php无关

论坛徽章:
0
14 [报告]
发表于 2006-05-27 11:07 |只看该作者
在服务器端验证不是很好吗?单用js验证不安全。同时在服务器端和客户端都验证相当于把同一个工作做了2遍。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
15 [报告]
发表于 2006-05-27 12:04 |只看该作者
原帖由 zuosy 于 2006-5-27 11:07 发表
在服务器端验证不是很好吗?单用js验证不安全。同时在服务器端和客户端都验证相当于把同一个工作做了2遍。



这个不完全,在客户端的验证,不会耗费服务器的资源,而且在一定程度上减小服务器资源的浪费了。

论坛徽章:
0
16 [报告]
发表于 2006-05-28 16:14 |只看该作者
原帖由 HonestQiao 于 2006-5-27 12:04 发表



这个不完全,在客户端的验证,不会耗费服务器的资源,而且在一定程度上减小服务器资源的浪费了。



通过JS验证后还是要在服务器端验证一次的,所以服务器验证这步是省不了的,所以我的做法是干脆用AJAX提交到服务器验证,验证通过了再提交,免得还要再用JS写一遍JS版的表单验证.

论坛徽章:
0
17 [报告]
发表于 2006-05-29 09:48 |只看该作者
原帖由 spiceboy 于 2006-5-25 17:44 发表
接楼上:

这么使用:

var Obj = document.formname.radioname;
var RadioValue = getRadioValue(Obj);



非常感谢spiceboy的帮助,问题已解决~

  1. <form name=frm>
  2.           <input name="radiobutton" type="radio" value="1" checked  onclick="myscript();">
  3.           企业用户
  4.           <input type="radio" name="radiobutton" value="2"  onclick="myscript();">
  5.           个人用户
  6.           <input type="radio" name="radiobutton" value="3" onclick="myscript();" >
  7.           全部用户

  8.   <table cellpadding=4 cellspacing=1 border=0 bgcolor=#ff0000>
  9.     <tr bgcolor=#ffffff>
  10.       <td><div id='abc1'>11111111111111111111</div></td>
  11.     </tr>
  12.     <tr bgcolor=#ffffff>
  13.       <td><div id='abc2'>2222222222222222222</div></td>
  14.     </tr>
  15.     <tr bgcolor=#ffffff>
  16.       <td><div id='abc3'>3333333333333333333</div></td>
  17.     </tr>
  18.   </table>
  19. </form>

  20. <script language=javascript>
  21.   function myscript(){
  22.     //var sVal = document.frm.radiobutton.value;
  23.        
  24.         var Obj = document.frm.radiobutton;
  25.     var sVal = getRadioValue(Obj);

  26.     var item1 = document.getElementById("abc1");
  27.     var item2 = document.getElementById("abc2");
  28.     var item3 = document.getElementById("abc3");
  29.     if(sVal == 1){ item3.style.display="none";item1.style.display="";item2.style.display="";}
  30.     else if(sVal == 2){item1.style.display="none";item2.style.display="";item3.style.display="";}
  31.     else if(sVal == 3){item1.style.display="";item2.style.display="";item3.style.display="";}
  32.   }
  33.   
  34.   function getRadioValue(objRadioName)
  35. {
  36.     //声明两个变量
  37.     var intRadioCount=objRadioName.length;
  38.     var intI=0;
  39.     //进入循环,寻找名称为objRadioName的元素,直得找到为止
  40.     do
  41.     {
  42.         if(objRadioName[intI].checked==true)
  43.         {
  44.             return objRadioName[intI].value;
  45.             intI=intRadioCount;
  46.         }
  47.         intI++;

  48.     }while(intI<intRadioCount)
  49. }

  50. </script>
复制代码

论坛徽章:
0
18 [报告]
发表于 2006-05-29 10:18 |只看该作者
客户端验证+服务器端验证,虽然麻烦点。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
19 [报告]
发表于 2006-05-29 13:17 |只看该作者
原帖由 crazysoul 于 2006-5-28 16:14 发表



通过JS验证后还是要在服务器端验证一次的,所以服务器验证这步是省不了的,所以我的做法是干脆用AJAX提交到服务器验证,验证通过了再提交,免得还要再用JS写一遍JS版的表单验证.



举一个简单的例子:

如果没有输入一个帖子的标题,那么:服务器至少需要处理两次;
第一次是检查,告诉用户没有输入标题
第二次再次检查。

而用了客户端js,那么第一次检查就可以避免了。

论坛徽章:
0
20 [报告]
发表于 2006-05-29 14:51 |只看该作者
var item1 = document.getElementById("a1");
item1.style.display="none";

对于文字来说,倒可以让它hide起来,


但如果对于
<div  id="a1"><input name="reg_email" type="text" size="20" maxlength="40"></div>
则无任何效果。

item1.style.display这种隐藏对像的方法应该有错,该如何解决?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP