|
|
|
รบกวนสอบถามเรื่อง insert ข้อมูลในหน้าเดียว+ร่วมกับเชคค่าว่าง javascript หน่อยครับ |
|
|
|
|
|
|
|
insert ข้อมูลในหน้าเดียว+ร่วมกับเชคค่าว่าง javascript หน่อยครับ
พอดีว่า พอกดปุ่ม submit ปุ๊บมันไม่ เชคเลยอ่ะครับ
*** event : ในการ insert ข้อมูล อยู่ที่ปุ่ม Onclick นะครับ
*** event : เชคค่าว่าง อยู่ที่ Form Onsubmit มีแนวทางยังไงให้มันเช็คก่อน Insert บ้างมั๊ยครับ คือผมไม่อยากทำหลายหน้า - -"
อันนี้ โค้ดหน้าForm insert พร้อม โค้ด Save ข้อมูล นะครับ
Code (PHP)
<?
ob_start();
@session_start();
if($_SESSION["status"] != "Admin"){
header("location:index.php");}
?>
<!doctype html>
<html><head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script type="text/javascript" src="script/script_register_member.js"></script>
<link rel="stylesheet" href="script/epoch_v106_en/epoch_styles.css" />
<script src="script/epoch_v106_en/epoch_classes.js"></script>
<style>
aside {
width: 630px;
padding-bottom: 0px;
/*background: hotpink;*/
}
aside > section {
float:right;
border: solid 1px gray;
border-radius: 7px;
background: lightcyan;
width: 90%;
margin: 10px auto;
}
aside > section > div {
border-radius: 5px 5px 0px 0px;
background: #F96;
padding: 5px;
color: white;
font-weight: bold;
}
aside a {
text-decoration: none;
}
aside a:link, aside a:visited { color: blue; }
aside a:hover { color: red; }
input[type="text"],[type="date"],[type="password"],[type="textarea"] {
border:solid 1px skyblue;
}
/*:focus {
outline:solid 2px tomato;
}*/
:in-range {
outline: none;
}
</style>
<script language="javascript">
/*You can also place this code in a separate file and link to it like epoch_classes.js*/
var bas_cal,dp_cal,ms_cal;
window.onload = function () {
dp_cal = new Epoch('epoch_popup','popup',document.getElementById('b_day'));
dp_cal = new Epoch('epoch_popup','popup',document.getElementById('work_day'));
function calAge(o){
var tmp = o.value.split("-");
var current = new Date();
var current_year = current.getFullYear();
document.getElementById("age").value = current_year - tmp[0];
}
};
</script>
</head>
<body>
<?php
include("config.php");
if($_POST["hdnCmd"] == "บันทึก")
{
$today = date("Y-m-d");
$b_day = $_POST["b_day"];
function DateDiff($strDate1,$strDate2)
{
return (strtotime($strDate2) - strtotime($strDate1))/ ( 60 * 60 * 24 * 365 ); // 1 day = 60*60*24
}
$age = DateDiff($b_day,$today);
$strSQL = "INSERT INTO user (u_id,f_name,l_name,b_day,age,work_day,rank,address,tel,username,password,detail,status) VALUES ('".$_POST["u_id"]."','".$_POST["f_name"]."','".$_POST["l_name"]."','".$_POST["b_day"]."','".$age."','".$_POST["work_day"]."'
,'".$_POST["rank"]."','".$_POST["address"]."','".$_POST["tel"]."','".$_POST["username"]."','".$_POST["password"]."',
'".$_POST["detail"]."','".$_POST["status"]."')";
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Save [".mysql_error()."]";
}
else
{
echo
"<title>jQuery Alert Dialogs<</title>
<script src=\"_assets/js/jquery.js\" type=\"text/javascript\"></script>
<script src=\"_assets/js/jquery.ui.draggable.js\" type=\"text/javascript\"></script>
<script src=\"_assets/js/jquery.alerts.js\" type=\"text/javascript\"></script>
<link href=\"_assets/css/jquery.alerts.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />
<script type=\"text/javascript\">
$(document).ready(function() {
$(\"#alert3\").ready(function() {
jAlert('success', 'เพิ่มข้อมูลพนักงานเรียบร้อยแล้ว!', 'พลพิชัยการยาง' ,function(r){
if (r) window.history(back)});
});
});
</script>";
}
}
?>
<span style="text-align: center"></span>
<aside>
<section>
<div>ข้อมูลพนักงาน</div>
<form name="frmMain" method="post" OnSubmit="return fncSubmit();" action="<?=$_SERVER["PHP_SELF"];?>">
<input type="hidden" name="hdnCmd" value="">
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="right" valign="top">รหัสพนักงาน :</td>
<td width="65%" align="left"><label for="u_id"></label>
<input name="u_id" type="text" id="u_id" size="20" maxlength="7" OnChange="JavaScript:doCallAjax();" onkeypress="return KeyCode(u_id)">
<font color="tomato" size="2"> * กรุณากรอกรหัส 4 - 10 หลัก</font>
<span id="mySpan"></span>
<label for="username"></label></td>
</tr>
<tr>
<td align="right" valign="top">ชื่อ <span dir="RTL"> </span><span dir="RTL"><span dir="RTL"> </span>:</span></td>
<td align="left"><input type="text" name="f_name" id="f_name" required onkeyup="checkText();" value=""/></td>
</tr>
<tr>
<td align="right" valign="top">นามสกุล :</td>
<td width="65%" align="left"><label for="password"></label>
<input type="text" name="l_name" id="l_name" required onkeyup="checkText();" value=""/></td>
</tr>
<tr>
<td align="right" valign="top">วันเกิด :</td>
<td width="65%" align="left"><label for="b_day"></label>
<input name="b_day" type="text" id="b_day" size="10" readonly>
<label for="age"></label></td>
</tr>
<tr>
<td align="right" valign="top">วันเข้าทำงาน :</td>
<td width="65%" align="left"><label for="work_day"></label>
<input name="work_day" type="text" id="work_day" size="10" readonly></td>
</tr>
<tr>
<td align="right" valign="top">ตำแหน่ง :</td>
<td width="65%" align="left"><label for="rank"></label>
<select name="rank" id="rank">
<option selected="selected">เลือกตำแหน่งงาน</option>
<option value="พนง.หน้าลาน">พนง.หน้าลาน</option>
<option value="พนง.การเงิน">พนง.การเงิน</option>
</select></td>
</tr>
<tr>
<td align="right" valign="top">ที่อยู่ :</td>
<td width="65%" align="left"><label for="address"></label>
<textarea name="address" cols="25" rows="2" id="address"></textarea></td>
</tr>
<tr>
<td align="right" valign="top">เบอร์โทร :</td>
<td width="65%" align="left"><label for="tel"></label>
<input name="tel" type="text" id="tel" size="20" maxlength="12" onKeyPress="return KeyTel(tel)" onkeyup="javascript:Telchk(this);" ></td>
</tr>
</table>
</section>
<section>
<div>ข้อมูลสำหรับเข้าสู่ระบบ</div>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="right">ชื่อเข้าใช้งาน<span dir="RTL"> </span><span dir="RTL"><span dir="RTL"> </span>:</span></td>
<td width="65%" align="left"><label for="username"></label>
<input name="username" type="text" id="username" size="20" maxlength="10" onkeypress="return KeyUser(username)"></td>
</tr>
<tr>
<td align="right">รหัสผ่าน :</td>
<td width="65%" align="left"><label for="password"></label>
<input name="password" type="password" id="password" size="20" maxlength="10" onkeypress="return KeyUser(password)"></td>
</tr>
<tr>
<td align="right">ยืนยันรหัสผ่าน :</td>
<td align="left"><label for="confirm"></label>
<input name="txtconfirm" type="password" id="txtconfirm" size="20" maxlength="10" onkeypress="return KeyUser(txtconfirm)"></td>
</tr>
</table>
<hr>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="right">หมายเหตุ <span dir="RTL"> </span><span dir="RTL"><span dir="RTL"> </span>:</span></td>
<td width="65%" align="left"><label for="username2"></label>
<label for="detail"></label>
<textarea name="detail" cols="25" rows="2" id="detail"></textarea></td>
</tr>
<tr>
<td align="right"><input type="hidden" name="status" id="status" value="Emp"></td>
<td width="65%" align="left">
<input name="btnAdd" type="button" id="btnAdd" value="บันทึก" OnClick="frmMain.hdnCmd.value='บันทึก';frmMain.submit();"> <input type="reset" name="reset" id="reset" value="ยกเลิก"></td>
</tr>
</table>
</section>
</form>
</aside>
</body>
</html>
อันนี้ คือ javascript เชคค่าว่าง
Code (Java)
var HttPRequest = false;
function doCallAjax() {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'check_id.php';
var pmeters = "u_id=" + encodeURI( document.getElementById("u_id").value);
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "..";
}
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
window.location = 'AjaxPHPRegister3.php';
}
else
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
}
/////////////----------------------------------------------------------------///////////////////////////
function KeyCode(objId)//ตรวจ id
{
if (event.keyCode >= 48 && event.keyCode<=57)
//48-57(ตัวเลข) ,65-90(Eng ตัวพิมพ์ใหญ่ ) ,97-122(Eng ตัวพิมพ์เล็ก)
{
return true;
}
else
{
alert("กรอกได้เฉพาะ 0-9");
document.frmMain.u_id.focus();
return false;
}
}
function KeyUser(objId)//ตรวจ username
{
if (event.keyCode >= 48 && event.keyCode<=57 || event.keyCode>=97 && event.keyCode<=122) /
/48-57(ตัวเลข) ,65-90(Eng ตัวพิมพ์ใหญ่ ) ,97-122(Eng ตัวพิมพ์เล็ก)
{
return true;
}
else
{
alert("กรอกได้เฉพาะ a-z และ 0-9");
document.frmMain.username.focus();
return false;
}
}
function KeyTel(objId)//ตรวจเบอร์โทร
{
if (event.keyCode >= 48 && event.keyCode<=57) //48-57(ตัวเลข) ,65-90(Eng ตัวพิมพ์ใหญ่ ) ,97-122(Eng ตัวพิมพ์เล็ก)
{
return true;
}
else
{
alert("กรอกได้เฉพาะตัวเลข 0-9 เท่านั้น !!");
document.frmMain.tel.focus();
return false;
}
}
//-----------------------------------------------------------------------------------//
//ฟังก์ชั่น ตรวจสอบอักขระ ในการกรอกลงใน textbox
function checkText()
{
var elem = document.getElementById('f_name').value;
if(elem.match(/^([a-z0-9])+$/i))
{
alert("กรอกได้เฉพาะตัวอักษรภาษาไทยเท่านั้น !!");
document.getElementById('f_name').value = "";
}
var elem = document.getElementById('l_name').value;
if(elem.match(/^([a-z0-9])+$/i))
{
alert("กรอกได้เฉพาะตัวอักษรภาษาไทยเท่านั้น !!");
document.getElementById('l_name').value = "";
}
}
//-----------------------------------------------------------------------------------//
// เชคค่าว่าง ของ textbox และ input
function fncSubmit(){
if(document.frmMain.u_id.value == "")
{
alert('กรุณากรอกรหัส 4 - 10 หลัก');
document.frmMain.u_id.focus();
return false;
}
if(document.frmMain.u_id.value.length < 4 || document.frmMain.nst_id.value.length > 10)
{
alert('กรุณากรอกรหัส 4 - 10 หลัก');
document.frmMain.u_id.focus();
return false;
}
if(document.frmMain.f_name.value == "")
{
alert('กรุณากรอกชื่อ');
document.frmMain.f_name.focus();
return false;
}
if(document.frmMain.l_name.value == "")
{
alert('กรุณากรอกนามสกุล');
document.frmMain.l_name.focus();
return false;
}
if(document.frmMain.b_day.value == "")
{
alert('กรุณาระบุวันเกิด');
document.frmMain.b_day.focus();
return false;
}
if(document.frmMain.work_day.value == "")
{
alert('กรุณาระบุวันเข้าทำงาน');
document.frmMain.work_day.focus();
return false;
}
if(document.frmMain.rank.value == "เลือกตำแหน่งงาน")
{
alert('กรุณาระบุตำแหน่งงาน');
document.frmMain.rank.focus();
return false;
}
if(document.frmMain.address.value == "")
{
alert('กรุณาระบุที่อยู่');
document.frmMain.address.focus();
return false;
}
if(document.frmMain.tel.value.length > 12 || document.frmMain.tel.value.length < 12)
{
alert('กรุณาระบุเบอร์โทรศัพท์');
document.frmMain.tel.focus();
return false;
}
if(document.frmMain.username.value == "")
{
alert('กรุณากรอกชื่อเข้าใช้งาน');
document.frmMain.username.focus();
return false;
}
if(document.frmMain.password.value == "")
{
alert('กรุณากรอกรหัสผ่าน 4-10 หลัก');
document.frmMain.password.focus();
return false;
}
if(document.frmMain.password.value.length < 4 || document.frmMain.password.value.length > 10)
{
alert('กรุณากรอกรหัสผ่าน 4-10 หลัก');
document.frmMain.password.focus();
return false;
}
if(document.frmMain.txtconfirm.value == "")
{
alert('กรุณายืนยันรหัสผ่าน 4-10 หลัก');
document.frmMain.txtconfirm.focus();
return false;
}
if(document.frmMain.password.value != document.frmMain.txtconfirm.value)
{
alert('รหัสผ่านและยืนยันรหัสผ่านไม่ตรงกัน');
document.frmMain.txtconfirm.focus();
return false;
}
}
//ฟังก์ชั่น เชครูปแบบเบอร์โทรศัพท์
function Telchk(obj){
var t1=new String("__-____-____"); // กำหนดรูปแบบในนี้
var t2=new String("-"); // กำหนดสัญลักษณ์หรือเครื่องหมายที่ใช้แบ่งในนี้
var t3=new String("");
var obj_l=obj.value.length;
var obj_9=obj_l-1;
for(i=0;i<t1.length;i++){
if(obj_9==i && t1.charAt(i+1)==t2){
t3+=obj.value+t2;
obj.value=t3;
}
}
if(obj_l>=t1.length){
obj.value=obj.value.substr(0,t1.length);
}
}
รบกวนด้วยนะครับ จนปัญหา จิงๆครับ นั่งแก้อยู่ เป็นวันแล้วครับ T T
Tag : PHP, MySQL, HTML/CSS, JavaScript, jQuery
|
ประวัติการแก้ไข 2014-04-09 21:38:49 2014-04-09 21:40:00
|
|
|
|
|
Date :
2014-04-09 21:26:00 |
By :
oodd2 |
View :
834 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ ^^ คือผม เพิ่งหัดทำเว็บอ่ะครับ และโค้ดก็ ก๊อปมาด้วย ^^
|
|
|
|
|
Date :
2014-04-09 23:55:34 |
By :
oodd2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|