Re: [問題] 請問表單radio的value如何抓text的內容?
引言改置底方便說明對照,目前採用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
討論串 (同標題文章)
Web_Design 近期熱門文章
PTT數位生活區 即時熱門文章