Sun 17 Sep 2006 08:02:03
สวัสดีครับ
ก่อนหน้านี้ คุณได้แนะนำในการนำ javascript มาใช้ ซึ่งผลที่ได้เป็นการ alert เตือนโดยไม่ต้องขึ้นหน้าใหม่ ซึ่ง code program ดังข้างล่างนี้
<script language="javascript" type="text/javascript">
function validate(obj){
if(obj.product.value == "0"){
alert("Please select product");
obj.product.focus();
return false;
}else if(obj.country.value == "0"){
alert("Please select country");
obj.country.focus();
return false;
}
return true;
}
</script>
<b>Product group search</b><br>
<form name="form3" method="post" action="list_3.php" onsubmit="return validate(this);">
<select name="product">
<option value="0">Please select</option>
<option value="agri">Agricultural Products</option>
<option value="alkohol">Alkoholic Beverages</option>
<option value="bakery">Bakery Products</option>
</select>
<select name="country">
<option value="0">Please select</option>
<option value="
<option value="
<option value="
</select>
<input type="submit" value="search">
</form>
Code program javascript นี้ ผมเข้าใจว่าสามารถนำไปใช้ในการเขียนโปรแกรมหน้าอื่นๆ ที่ใช้ alert เตือนว่า user ยังไม่ได้ input นั่นหรือ นี่ ได้เลย โดยเปลี่ยนตัวแปรเป็นตัวแปรที่ต้องการ และไปเติม onsubmit="return validate(this);
ใน code program <form> เท่านั้น ดังตัวอย่างต่อไปนี้
<script language="javascript" type="text/javascript">
function validate(obj)
{
if(obj.company.value == "0")
{
alert("Please fill your company");
obj.company.focus();
return false;
}
else if(obj.email.value == "0")
{
alert("Please fill your email");
obj.email.focus();
return false;
}
else if(obj.country.value == "0")
{
alert("Please fill your country");
obj.country.focus();
return false;
}
return true;
}
</script>
<html>
<head>
<title>Add company.html</title>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-874">
</head>
<body>
<p><b><u>Add data</u></b></p>
<form name="form1" method="post" action="add.php" onsubmit="return validate(this);">
<b>Company</b><input type="text" name="company"><br>
<b>Email</b><input type="text" name="email"><br>
<b>Country</b><select name="country">
<option value="select" selected></option>
<option value="
<option value="
<option value="
<p><b>Product group</b><br>
<input type="checkbox" name="agri" value="1">Agricultural Products<br>
<input type="checkbox" name="alkohol" value="1">Alkoholic Beverages<br>
<input type="checkbox" name="bakery" value="1">Bakery Products<br>
<p><b> Would you like to receive food news?</b><br>
<input type="radio" name="mail" value="receive" checked>Receive<br>
<input type="radio" name="mail" value="nreceive"> Not receive
<p><input type="submit" value="Add data">
</form>
</body>
</html>
ผมได้เปลี่ยน java scrip จากตัวแปรเดิม มาเป็นตัวแปรใหม่ และทุกอย่างยังคงเหมือนเดิม แต่ปรากฏว่าไม่ alert เมื่อ user ไม่ fill ในช่อง company, email และ country
คงต้องรบกวนช่วยแนะนำด้วยครับ
อนันต์
<head>
<title>Add company.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620;">
<script language="javascript" type="text/javascript">
function validate(obj)
{
if(obj.company.value == ""){
alert("Please fill your company");
obj.company.focus();
return false;
}
else if(obj.email.value == ""){
alert("Please fill your email");
obj.email.focus();
return false;
}
else if(obj.country.value == "0"){
alert("Please fill your country");
obj.country.focus();
return false;
}else if(!obj.agri.checked && !obj.alkohol.checked && !obj.bakery.checked){
alert("Please select a product");
return false;
}
return true;
}
</script>
</head>
<body>
<p><b><u>Add data</u></b></p>
<form name="form1" method="post" action="add.php" onSubmit="return validate(this);">
<b>Company</b><input type="text" name="company"><br>
<b>Email</b><input type="text" name="email"><br>
<b>Country</b><select name="country">
<option value="0">Please select</option>
<option value="New Zealand">New Zealand</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Thailand">Thailand</option></select>
<p><b>Product group</b><br></p>
<input type="checkbox" name="agri" value="1">Agricultural Products<br>
<input type="checkbox" name="alkohol" value="1">Alkoholic Beverages<br>
<input type="checkbox" name="bakery" value="1">Bakery Products<br>
<p><b> Would you like to receive food news?</b><br></p>
<input type="radio" name="mail" value="receive" checked>Receive<br>
<input type="radio" name="mail" value="nreceive"> Not receive
<p><input type="submit" value="Add data"></p>
</form>
</body>
</html>
text input นั้นถ้าไม่มีการป้อนจะมีค่าเป็น "" คือค่าว่างครับ ส่วนถ้าเป็น select input นั้น ค่าของมันคือค่าที่ถูกเลือกดังนั้นต้องสร้าง option ที่เป็น default ไว้ครับแล้วเช็คจากค่านั้นเอา
ส่วน tag <p> ที่ผม hilight ไว้นั้นเห็นมีการเปิดไว้แล้วไม่มีการปิด อาจจะทำให้เกิดปัญหาได้ในอนาคตครับ เมื่อทำการเปิด tag ที่ต้องมีการปิดด้วยนั้นพยายามทำการปิด tag นั้นๆทันที แล้วค่อยใส่ข้อมูลภายในครับ ช่วยได้เยอะ
Sun 17 Sep 2006 16:17:39
ขอบคุณมากครับที่กรุณาช่วยเหลือโดยตลอด
ใช้ได้แล้วครับ
ขอบคุณครับ
อนันต์

















