我有一个ajax脚本从文本框Employee_Name获取帖子并自动填充Employee_Number。 它适用于用户键入firstname但我想要它,所以当用户键入它的名字和姓氏仍然可以工作时。 是否有可能做到这一点?
这是insert.php
<?php header('Content-Type: application/json'); try { $dbName = "C:\\inetpub\\wwwroot\\fpdb\\staffing.mdb"; $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};charset=UTF-8; DBQ=$dbName; Uid=; Pwd=;"); } catch (PDOException $e) { echo $e->getMessage(); } $Employee_Name= trim($_POST["Employee_Name"]); $Employee_Lastname= trim($_POST["Employee_Name"]); $params = array( ':FIRSTNAME' => $Employee_Name, ':LASTNAME'=>$Employee_Lastname ); $query = $db->prepare(" SELECT * FROM tbl_USERS WHERE FIRSTNAME=:FIRSTNAME and LASTNAME=:LASTNAME"); $query->execute($params); $result = $query->fetch(PDO::FETCH_ASSOC); $EMPLOYEE_NUMBER=trim('EMPLOYEE_NUMBER'); $rc= $result[$EMPLOYEE_NUMBER]; echo json_encode ($rc); ?>用PHP表单的脚本。
<head> <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/view.css"> <script src="<?php echo base_url();?>js/view.js"></script> <script src="<?php echo base_url();?>js/jquery-1.11.1.min.js"></script> <script> $(document).ready(function(){ $("#Employee_Name").change(function(){ var Employee_Name=$(this).val(); if(Employee_Name != ''){ $.ajax({ type:"post", url:"insert.php", data:"Employee_Name="+Employee_Name, datatype:"json", success:function(data){ $("#Employee_Number").val(data); $('#Employee_Number').css( "background-color","#B3CBD6" ) $('#Employee_Number').animate({backgroundColor: "#ffffff"}); }, error: function(response){ alert("error scripting") } }); } else{ $("#Employee_Number").val(""); } }); }); </script> <link href="<?php echo base_url();?>assets/css/bootstrap.min.css" rel="stylesheet"> </head> <?php $msg = $this->session->flashdata('msg'); if((isset($msg)) && (!empty($msg))) { ?> <div class="alert alert-success" > <a href="#" class="close" data-dismiss="alert">×</a> <?php print_r($msg); ?> </div> <?php } ?> <?php $msg = $this->session->flashdata('msg1'); if((isset($msg)) && (!empty($msg))) { ?> <div class="alert alert-error" > <a href="#" class="close" data-dismiss="alert">×</a> <?php print_r($msg); ?> </div> <?php } ?> <body id="main_body" > <div id="form_container"> <form class="" action="<?php echo base_url();?>employee/insert_employee" method="post"> <div class="form_description"> <h2>Enter Data</h2> </div> <ul > <li id="li_1" > <label class="description" for="element_1">Date Scheduled</label> <div> <input id="element_1" name="Date_Scheduled" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_2" > <label class="description" for="element_2">Employee_Name </label> <div> <input id="Employee_Name" name="Employee_Name" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_3" > <label class="description" for="element_3">Employee Number </label> <div> <input id="Employee_Number" name="Employee_Number" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_3" > <label class="description" for="element_3">Time Reported </label> <div> <input id="element_3" name="Time_Reported" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_6" > <label class="description" for="element_6">Reason </label> <div> <select class="element select medium" id="element_6" name="reason" required> <option value="" selected="selected">Please Select..</option> <option value="ILL PTO" >ILL PTO</option> <option value="PTO" >PTO</option> <option value="OTHER" >Other</option> </select> </div> </li> <li id="li_4" > <label class="description" for="element_4">Scheduled Area</label> <div> <select class="element select medium" id="element_4" name="Scheduled_Area" required> <option value="" selected="selected">Please Select..</option> <option value="Outbound" >Outbound</option> <option value="Inbound" >Inbound</option> <option value="Claims" >Claims</option> </select> </div> </li> <li id="li_6" > <label class="description" for="element_6">Contact </label> <div> <select class="element select medium" id="element_6" name="contact" required> <option value="" selected="selected">Please Select..</option> <option value="ILL PTO" >ILL PTO</option> <option value="PTO" >PTO</option> <option value="OTHER" >Other</option> </select> </div> </li> <li id="li_6" > <label class="description" for="element_6">Approval </label> <div> <select class="element select medium" id="element_6" name="Approval" required> <option value="" selected="selected">Please Select..</option> <option value="ILL PTO" >ILL PTO</option> <option value="PTO" >PTO</option> <option value="OTHER" >Other</option> </select> </div> </li> <input id="Complete" class="default" type="hidden" name="Complete" value="NO" /> <input id="Status" class="default" type="hidden" name="Status" value="1" /> <li class="buttons"> <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" /> </li> </ul> </form> </body> </html>从acccess db拉下拉框
<?php try { $dbName = "C:\\inetpub\\wwwroot\\fpdb\\staffing.mdb"; $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};charset=UTF-8; DBQ=$dbName; Uid=; Pwd=;"); } catch (PDOException $e) { echo $e->getMessage(); } $sql="SELECT FIRSTNAME, LASTNAME, EMPLOYEE_NUMBER FROM tbl_USERS WHERE STATUS='A' order by FIRSTNAME"; /* You can add order by clause to the sql statement if the names are to be displayed in alphabetical order */ echo "<select id='Employee_Name' name=Employee_Name value=''>Employee_Name</option>"; // list box select command foreach ($db->query($sql) as $row){//Array or records stored in $row echo "<option value=$row[FIRSTNAME] $row[LASTNAME]>$row[FIRSTNAME] $row[LASTNAME]</option>"; /* Option values are added by looping through the array */ } echo "</select>";// Closing of list box ?>I have an ajax script That gets the post from textbox Employee_Name and auto fills Employee_Number. It works when user types firstname but I want it so when user types first and last name for it to still work. Is it possible to do this?
Here is the insert.php
<?php header('Content-Type: application/json'); try { $dbName = "C:\\inetpub\\wwwroot\\fpdb\\staffing.mdb"; $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};charset=UTF-8; DBQ=$dbName; Uid=; Pwd=;"); } catch (PDOException $e) { echo $e->getMessage(); } $Employee_Name= trim($_POST["Employee_Name"]); $Employee_Lastname= trim($_POST["Employee_Name"]); $params = array( ':FIRSTNAME' => $Employee_Name, ':LASTNAME'=>$Employee_Lastname ); $query = $db->prepare(" SELECT * FROM tbl_USERS WHERE FIRSTNAME=:FIRSTNAME and LASTNAME=:LASTNAME"); $query->execute($params); $result = $query->fetch(PDO::FETCH_ASSOC); $EMPLOYEE_NUMBER=trim('EMPLOYEE_NUMBER'); $rc= $result[$EMPLOYEE_NUMBER]; echo json_encode ($rc); ?>The script with the php form.
<head> <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/view.css"> <script src="<?php echo base_url();?>js/view.js"></script> <script src="<?php echo base_url();?>js/jquery-1.11.1.min.js"></script> <script> $(document).ready(function(){ $("#Employee_Name").change(function(){ var Employee_Name=$(this).val(); if(Employee_Name != ''){ $.ajax({ type:"post", url:"insert.php", data:"Employee_Name="+Employee_Name, datatype:"json", success:function(data){ $("#Employee_Number").val(data); $('#Employee_Number').css( "background-color","#B3CBD6" ) $('#Employee_Number').animate({backgroundColor: "#ffffff"}); }, error: function(response){ alert("error scripting") } }); } else{ $("#Employee_Number").val(""); } }); }); </script> <link href="<?php echo base_url();?>assets/css/bootstrap.min.css" rel="stylesheet"> </head> <?php $msg = $this->session->flashdata('msg'); if((isset($msg)) && (!empty($msg))) { ?> <div class="alert alert-success" > <a href="#" class="close" data-dismiss="alert">×</a> <?php print_r($msg); ?> </div> <?php } ?> <?php $msg = $this->session->flashdata('msg1'); if((isset($msg)) && (!empty($msg))) { ?> <div class="alert alert-error" > <a href="#" class="close" data-dismiss="alert">×</a> <?php print_r($msg); ?> </div> <?php } ?> <body id="main_body" > <div id="form_container"> <form class="" action="<?php echo base_url();?>employee/insert_employee" method="post"> <div class="form_description"> <h2>Enter Data</h2> </div> <ul > <li id="li_1" > <label class="description" for="element_1">Date Scheduled</label> <div> <input id="element_1" name="Date_Scheduled" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_2" > <label class="description" for="element_2">Employee_Name </label> <div> <input id="Employee_Name" name="Employee_Name" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_3" > <label class="description" for="element_3">Employee Number </label> <div> <input id="Employee_Number" name="Employee_Number" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_3" > <label class="description" for="element_3">Time Reported </label> <div> <input id="element_3" name="Time_Reported" class="element text medium" type="text" maxlength="255" value="" required/> </div> </li> <li id="li_6" > <label class="description" for="element_6">Reason </label> <div> <select class="element select medium" id="element_6" name="reason" required> <option value="" selected="selected">Please Select..</option> <option value="ILL PTO" >ILL PTO</option> <option value="PTO" >PTO</option> <option value="OTHER" >Other</option> </select> </div> </li> <li id="li_4" > <label class="description" for="element_4">Scheduled Area</label> <div> <select class="element select medium" id="element_4" name="Scheduled_Area" required> <option value="" selected="selected">Please Select..</option> <option value="Outbound" >Outbound</option> <option value="Inbound" >Inbound</option> <option value="Claims" >Claims</option> </select> </div> </li> <li id="li_6" > <label class="description" for="element_6">Contact </label> <div> <select class="element select medium" id="element_6" name="contact" required> <option value="" selected="selected">Please Select..</option> <option value="ILL PTO" >ILL PTO</option> <option value="PTO" >PTO</option> <option value="OTHER" >Other</option> </select> </div> </li> <li id="li_6" > <label class="description" for="element_6">Approval </label> <div> <select class="element select medium" id="element_6" name="Approval" required> <option value="" selected="selected">Please Select..</option> <option value="ILL PTO" >ILL PTO</option> <option value="PTO" >PTO</option> <option value="OTHER" >Other</option> </select> </div> </li> <input id="Complete" class="default" type="hidden" name="Complete" value="NO" /> <input id="Status" class="default" type="hidden" name="Status" value="1" /> <li class="buttons"> <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" /> </li> </ul> </form> </body> </html>Dropdown box pulling from acccess db
<?php try { $dbName = "C:\\inetpub\\wwwroot\\fpdb\\staffing.mdb"; $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)};charset=UTF-8; DBQ=$dbName; Uid=; Pwd=;"); } catch (PDOException $e) { echo $e->getMessage(); } $sql="SELECT FIRSTNAME, LASTNAME, EMPLOYEE_NUMBER FROM tbl_USERS WHERE STATUS='A' order by FIRSTNAME"; /* You can add order by clause to the sql statement if the names are to be displayed in alphabetical order */ echo "<select id='Employee_Name' name=Employee_Name value=''>Employee_Name</option>"; // list box select command foreach ($db->query($sql) as $row){//Array or records stored in $row echo "<option value=$row[FIRSTNAME] $row[LASTNAME]>$row[FIRSTNAME] $row[LASTNAME]</option>"; /* Option values are added by looping through the array */ } echo "</select>";// Closing of list box ?>最满意答案
如果将在同一输入中键入第一个和最后一个名称,则可以拆分字符串,然后使用逻辑分离以了解名字和姓氏:
使用Javascript:
$(document).ready(function(){ $("#Employee_Name").change(function(){ var txt = $(this).val(); var nameArray = txt.split(","); var Employee_Name = nameArray[0]; var Employee_LastName = nameArray[1]; if(Employee_Name != "" && Employee_LastName != ""){ $.ajax({ type:"post", url:"insert.php", data:"Employee_Name="+Employee_Name+"&Employee_Lastname="+Employee_LastName, datatype:"json", contentType: "application/x-www-form-urlencoded; charset=ISO-8859-1", success:function(data){ $("#Employee_Number").val(data); $('#Employee_Number').css( "background-color","#B3CBD6" ) $('#Employee_Number').animate({backgroundColor: "#ffffff"}); }, error: function(response){ alert("error scripting"); } }); } else{ $("#Employee_Number").val(""); } }); });在PHP中:
$Employee_Name = trim($_POST["Employee_Name"]); $Employee_Lastname = trim($_POST["Employee_Lastname"]); echo json_encode(explode('.',$rc)[0]);If the first and Last Name will be typed in the same input, you could split the string and then separate using a logic for know the First and Last Name:
Using Javascript:
$(document).ready(function(){ $("#Employee_Name").change(function(){ var txt = $(this).val(); var nameArray = txt.split(","); var Employee_Name = nameArray[0]; var Employee_LastName = nameArray[1]; if(Employee_Name != "" && Employee_LastName != ""){ $.ajax({ type:"post", url:"insert.php", data:"Employee_Name="+Employee_Name+"&Employee_Lastname="+Employee_LastName, datatype:"json", contentType: "application/x-www-form-urlencoded; charset=ISO-8859-1", success:function(data){ $("#Employee_Number").val(data); $('#Employee_Number').css( "background-color","#B3CBD6" ) $('#Employee_Number').animate({backgroundColor: "#ffffff"}); }, error: function(response){ alert("error scripting"); } }); } else{ $("#Employee_Number").val(""); } }); });In PHP:
$Employee_Name = trim($_POST["Employee_Name"]); $Employee_Lastname = trim($_POST["Employee_Lastname"]); echo json_encode(explode('.',$rc)[0]);更多推荐
发布评论