作者piligo (pili)
看板Web_Design
标题Re: [问题] 请问表单radio的value如何抓text的内容?
时间Fri Apr 14 20:50:27 2006
引言改置底方便说明对照,目前采用ckw的方法,那还遇到一个问题就是,当选择自订
日期,在text栏位也填完,我发现当在把radio点回去2006/04/13,在点回来自订日期
,在送出却不是text的值,而是2006/04/13,测到一个解决方法,就是从自订切回
2006/04/13在切回自订,要在text方框内点一下,这样text的值才会get出去,以上都
是切来切去所照成,当然如果选自订然後text填一填送出是没问题。不知这个有办法解
决吗?
还有ckw所采用的机制是把值统一丢到某个hidden变数再submit出去,可是这样做,变
成非焦点的变数也带出,像r就是,而焦点是在hdnDate,那我主要是问当带出非运用的
变数算可接受的写法吗?还是更好的作法是只带出有用到的变数呢?
换个角度问,当有带出不必要的变数,是否一定可以修正到可以不用带出不必要的变数。
不知问这个会不会太钻牛角尖,想说如果 method 是 post 就算了因为网址列不会秀出来
,眼不见为净呵呵,可是当 method 是 get ,却又带出没运用的变数,看起来很杂。
我当时的想法就很简单的想说如何把text栏位所填的值导入某个radio内的value,然後
看 client 是选择那个radio就送出那个值,也不会带出没运用到的变数,没想到一路上
讨论下来,雾煞煞。
另外TKirby提到php 抓 $_GET["xxx"] 就好,这个是不是当submit出去,怕後端内部有
写相同的变数而值又不一样所产生错乱,所以才需要采用$_GET,因为他只抓在网址上
面所带入的变数,後端里面的变数怎麽写一概不影响,不知是不是这个意思?
※ 引述《ckw (要昵称作啥)》之铭言:
: <script type="text/javascript" language="JavaScript">
: function setValue(obj){
: document.getElementById("hdnDate").value = obj.value;
: }
: function enableInput(flag){
: if (flag){
: document.getElementById("_date").disabled = false;
: }
: else {
: document.getElementById("_date").disabled = true;
: }
: }
: </script>
: <input name="hdnDate" type="hidden">
: <input name="r" type="radio" value="2006/04/13"
: onclick="enableInput(false);setValue(this);">2006/04/13
: <input name="r" type="radio" onclick="enableInput(true);">
: <input type="text" id="_date" onblur="setValue(this);" disabled="true">
: 我只有以前上课时有写过php,但现在差不多忘光光了,上面的范例希望可以运作。
: 我的习惯是,如果像这种网页上有点选切换的动作导致要传的值变来变去,我会用
: javascript来控制或取得这些值,统一丢到某个hidden变数再submit出去。後端要
: 取值就固定抓这个变数就好。网页上物件选取与否的判断及取值的控制,尽可能在
: submit之前处理,让後端取值单纯化,以後要debug也会比较轻松。我同事教我,
: 不要前端写一些,後端也写一些,这样以後要维护比较辛苦。
: 如果说php会像你所说的,变数名称相同的时候在取值时只会找最後一个,前面会
: 略过,让你产生困扰的话,不如通通丢到另一个单独的变数去吧。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.74.60