摘要:[JavaScript]設定Select、Input標籤,只可讀不可修改且可傳值
在想讓使用者只可讀取不能修改的情況下
input標籤,是使用readonly
而select標籤,則是用disabled(禁用下拉列表)
但是,在送出表單傳值的時候,卻不能傳遞出去
找到了以下資料,可參考看看:http://www.k8h.net/a/wangyejishu/2014/0629/60.html
當屬性設置為「disabled」,提交表單時,select的值無法傳遞
解決方法:提交前移除disabled屬性
JavaScript作法:$("#test").removeAttr("disabled");
jQueryy作法:$("#test").attr("disabled","disabled");
實作了一個簡易範例,有興趣的讀者可以在自己的環境執行看看(以Select為範例)
test.php
<!DOCTYPE html>
<html>
<head>
<title>readonly</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function check_select(form){
if(confirm("確定要送出此資料嗎?")){
$("#in_name").removeAttr("disabled");
$("#in_name2").removeAttr("disabled");
return true;
}else{
return false;
}
}
</script>
</head>
<body>
<form id="in_form" name="in_form" method="post" action="./test.inc.php" onsubmit="return check_select()">
名稱1:
<select id="in_name" name="in_name" disabled >
<option value="">請選擇名稱</option>
<option value="GOOD_IDEA" selected >GOOD IDEA</option>
</select>
<br /><br />
名稱2:
<select id="in_name2" name="in_name2" disabled >
<option value="">請選擇名稱</option>
<option value="GOOD_IDEA2" selected >GOOD IDEA2</option>
</select>
<br /><br />
<input id="submit" name="submit" type="submit" value="確定送出" />
</form>
</body>
</html>
test.inc.php
<?php
header("Content-Type:text/html; charset=utf-8");
$in_name=$_POST['in_name'];
$in_name2=$_POST['in_name2'];
echo "名稱1的值:".$in_name."<br />";
echo "名稱2的值:".$in_name2."<br />";
?>