用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3211|回复: 5
收起左侧

表单辅助函数与JavaScript问题

[复制链接]
发表于 2008-11-28 17:27:29 | 显示全部楼层 |阅读模式
PHP复制代码
 
<?=form_open('login/check_user');?>
<input name="password" type="password" value="" style="width:130px;" />
<input type="hidden" name="key" value=<?=$key; ?> />
 
<input type="submit" name="submit" value="登 录" onclick="password.value = hex_hmac_md5(key.value, password.value)"
复制代码


为什么这段:
不起作用呢?
onclick="password.value = hex_hmac_md5(key.value, password.value)"

_post['password']仍然是明文,没有经过加密~~

还有,就是'login/check_user'使用了CI的验证

[ 本帖最后由 BachelorZDB 于 2008-11-28 17:29 编辑 ]
发表于 2008-11-29 00:27:45 | 显示全部楼层
你的 password.value 中的 password 是谁?DOM 节点最好不要这样取吧?
 楼主| 发表于 2008-11-29 14:00:53 | 显示全部楼层
原帖由 Hex 于 2008-11-29 00:27 发表
你的 password.value 中的 password 是谁?DOM 节点最好不要这样取吧?


先感谢回复。。。

1. password.value 中的 password 是<input name="password" type="password" value="" style="width:130px;" />
2. DOM 节点最好不要这样取吧?----------------这个不太明白,还望指教~!

<?=form_open('login/check_user');?>
<input name="password" type="password" value="" style="width:130px;" />
<input type="hidden" name="key" value=<?=$key; ?> />

<input type="submit" name="submit" value="登 录" onclick="password.value = hex_hmac_md5(key.value, password.value)"

$js="javascript:password.value = hex_hmac_md5(key.value, password.value)"
<?=form_open('login/check_user',js,hidden); ?>


应该放在这里?我试过放在<form>里,仍然是不行的


我在一个纯PHP环境中是这样的:<form onsubmit="javascript:password.value = hex_hmac_md5(key.value, password.value)"


在HTML环境中测试过那个JavaScript是可以的,在PHP环境中,没有使用CI时按照纯PHP环境中的格式也是可以的啊

[ 本帖最后由 BachelorZDB 于 2008-11-29 14:06 编辑 ]
发表于 2008-11-29 17:10:26 | 显示全部楼层
CI 和是不是纯 PHP 和纯 HTML 无关,CI 只是一个框架,他也是 PHP 程序。
你这个问题和 CI 无关!!
CI 最后生成的 HTML 才是浏览器执行的东西,才会有 JS 问题,你应该检查一下 JS 脚本。
你的 password 在标准中不代表你的 <input name="password" 你应该 document.getElementById('password') 这样来取,并且 <input id="password" name="password" ...>

总之一句话,js 的任何错误和 CI 是无关的,CI 控制不了你的浏览器的行为。
 楼主| 发表于 2008-11-29 19:02:23 | 显示全部楼层

回复 4楼 的帖子

谢谢~~
我再看看,不过我通过查看PHP生成的HTML页面似乎没什么问题
 楼主| 发表于 2008-12-4 15:09:21 | 显示全部楼层
上面这个问题是  <?=base_url();?>   的问题,
JavaScript的引用路径没有配置好~
我已经解决了~

谢谢Hex~~
:)

本版积分规则