作者ben0065 (oujiyo)
看板PHP
標題[請益] PHP Form表單利用js來判斷是否有填寫
時間Wed Feb 4 21:05:59 2015
跟各位大大請教一下,目前要寫一個問卷的填寫,面臨到如果
答題為五個選擇,非常不滿意、不滿意、普通、滿意、非常滿意,
我是先去資料庫抓題目後來跑五個radio來單選,但面臨到例如
我抓三筆題目來跑,那以下程式碼我要怎麼去判斷是否有沒點選到的radio值呢?
因為每一筆radio名稱都只能給五個單選,所以我是用迴圈來把radio的name
加上$i來增加每個name的區別,以下為程式碼不知該如何修改讓他跑三筆
之中有未填寫時跳出視窗,問題出在於我現在跑回圈 所以作答後總共會產生
三個值能POST過去下一頁,為a1、a2、a3,但在javascript部分我只能寫死
a1來偵測到是否有空值,不知道有沒有更便利的方法能直接都偵測到有空值後彈
出視窗呢?
程式碼:
<?php
header("content-type:text/html; charset=utf-8");
require_once("mysqlconnect.php");
$sql = "select tid, content from topic where utype = '1'and ttype = '1'
order by tid";
$result = mysql_query($sql);
echo "<form name=\"reg\" method=\"POST\" action=\"test3.php\">";
echo "<input type =\"submit\" name =\"button2\" value =\"送出\"
onClick=\"check()\"/><br>";
for ($j=1;$j<=3;$j++){
$row = mysql_fetch_row($result);
$tid[] = $row[0];
echo "<table border = 0>";
echo "<input type=\"hidden\" name = \"tid$i$j\" value = \"$row[0]\">";
echo "<tr><td bgcolor = #D8F6CE width = \"415\"><font face=\"標楷體\" size =
\"4\">$j.$row[1]</font></td></tr></table>";
echo "<table border = 0>";
echo "<tr bgcolor = #F5BCA9><td><input type=\"radio\" name=\"a$j\"
value=\"1\"></td><td><font face=\"標楷體\" size = \"3\">非常不滿意
</font></td>";
echo "<td><input type=\"radio\" name=\"a$j\"
value=\"2\"></td><td><font face=\"標楷體\" size = \"3\">不滿意</font></td>";
echo "<td><input type=\"radio\" name=\"a$j\"
value=\"3\"></td><td><font face=\"標楷體\" size = \"3\">普通</font></td>";
echo "<td><input type=\"radio\" name=\"a$j\"
value=\"4\"></td><td><font face=\"標楷體\" size = \"3\">滿意</font></td>";
echo "<td><input type=\"radio\" name=\"a$j\"
value=\"5\"></td><td><font face=\"標楷體\" size = \"3\">非常滿意</font></td>";
}
echo "</table><form>";
?>
<SCRIPT type="text/javascript">
function check()
{
if(!reg.a1[0].checked && !reg.a1[1].checked && !reg.a1[2].checked
&& !reg.a1[3].checked && !reg.a1[4].checked)
{
alert("尚未達題");
}
<!-- 若以上條件皆不符合,也就是表單資料皆有填寫的話,則將資料送出 -->
else reg.submit();
}
</SCRIPT>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.79.61.229
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1423055162.A.F13.html
1F:推 stockup: 判斷a1 a2 a3的值是不是都介於1~5中 02/04 23:04
2F:→ MOONRAKER: 天啊你javascript這樣寫很老式了 老到不合乎DOM 02/05 00:25
3F:→ MOONRAKER: HTML也老 學點CSS吧 一路echo到底也是 看得蛋蛋都疼 02/05 00:26
4F:推 shadowjohn: 這篇讓我想起15年前,我也是這樣寫...XD 02/05 01:48
5F:→ MangoTW: 這樣ECHO不覺得累嗎?還要反斜線… 02/05 03:44
6F:推 bcawosxy: 蛋疼+1 02/05 09:43
7F:推 LaPass: 嗯... 落後15年 02/05 10:17
8F:噓 KawasumiMai: 關金玉屁事 02/05 12:24
9F:→ shadowjohn: 樓上火氣真大,發生什麼事了 02/05 13:19
10F:→ KawasumiMai: 沒什麼,看到某人一天到晚懶趴痛覺得很礙眼而已 02/05 14:48
11F:→ KawasumiMai: 人家誠心誠意來請教問題,請別用居高臨下的口氣消遣 02/05 14:54
12F:推 cokellen: 推樓上的感想XD 02/05 22:24
13F:→ MOONRAKER: 好啊 你K某身體好不蛋疼 那你K某有解釋到他的問題嗎 02/06 22:18
14F:→ MOONRAKER: 本人起碼指出他這樣寫不合DOM 往後遲早會有相容問題 02/06 22:19
15F:→ MOONRAKER: 而且本人的確看不爽這種echo到底的寫法 事實上本人認為 02/06 22:19
16F:→ MOONRAKER: code最起碼要把php和html適當的區分 不然看都難過 02/06 22:20
17F:→ MOONRAKER: 你K某有問題何不檢舉 我們來看看往後是你或我較疼 02/06 22:21
18F:→ shadowjohn: 二位都冷靜冷靜,以和為貴 02/07 20:12
19F:噓 KawasumiMai: 這口氣從VB版就死性不改,學術界就是充滿這種口吻才 02/08 16:52
20F:→ KawasumiMai: 難以承先啟後,老娘沒覽趴沒你那問題,不然想怎樣? 02/08 16:52
21F:推 wall: 重點是這寫法無影響效能?若沒有,coding style自己看爽就好 02/12 16:36