2016-05-29 4 views
0

Ich arbeite an einer WCF-Dienstanwendung, die benötigt, um die Barcode-Leser-Zeichen zu erhalten und Daten davon auf UI für Benutzer anzuzeigen. Mein Problem ist, dass, wenn ich Daten in Textbox mit Tastatur schreibe, OK ist, aber beim Lesen vom Barcodeleser es überschreiben und 3 mal Daten in UI anzeigen.ASP.Net Barcode-Leser zeigen Daten

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title>سرویس و بارکد خوان</title> 


    <script src="Scripts/jquery-1.11.0.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function setFocusToTextBox() { 
      $(document).ready(function() { 
       document.getElementById('txtFirst').focus(); 

      }); 
      } 
</script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#txtFirst").keydown(function (e) { 
      if (e.which == 17 || e.which == 74) { 
       e.preventDefault(); 
      } else { 
       console.log(e.which); 
      } 
     }) 
    }); 
</script> 
    <script type="text/javascript" language="javascript"> 
     function JqueryAjaxCall(val) { 
      $("#contentHolder").empty(); 
      $(".form-errors").empty(); 
       if (val != null && val.length === 20) { 
        document.getElementById("txtFirst").select(); 
       var pageUrl = '<%= ResolveUrl("~/Default.aspx/jqueryAjaxCall") %>'; 
       var parameter = { "myVal": val} 

       $.ajax({ 
        type: 'POST', 
        url: pageUrl, 
        data: JSON.stringify(parameter), 
        dataType: 'json', 
        contentType: 'application/json; charset=utf-8', 
        dateFormat: 'dd/mm/yy', 
        success: function (data) { 
         onSuccess(data); 
        }, 
        error: function (data, success, error) { 
         var myitems = jQuery.parseJSON(data.responseText); 
         $(".form-errors").text(myitems.Message).show(); 
        } 
       }); 

     return false; 
     } 

    function onSuccess(data) { 

      var items = data.d; 
      var fragment = "<ul>" 
      var BLNumber = items.BLNumber; 
      var ContainerNumber = items.ContainerNumber; 
      var Destination = items.Destination; 
      var SerialNumberVerification = items.SerialNumberVerification; 
      var TempPermission = items.TempPermission; 
      var VehicleNumber = items.VehicleNumber; 
      var VehicleType = items.VehicleType; 
      var VoyageID = items.VoyageID; 
      var value = new Date(parseInt(items.ExitDate.substr(6))); 
      var ExitDate = value.getMonth() + 1 + "/" + value.getDate() + "/" + value.getFullYear(); 
      var ExitPermissionNumber = items.ExitPermissionNumber; 
      var myvalue = new Date(parseInt(items.SpecialZoneOrCustomPermissionDate.substr(6))); 
      var SpecialZoneOrCustomPermissionDate = myvalue.getMonth() + 1 + "/" + myvalue.getDate() + "/" + myvalue.getFullYear(); 
      var SpecialZoneOrCustomPermissionNumber = items.SpecialZoneOrCustomPermissionNumber; 

       fragment += "<li> " + " شماره بارنامه : " + BLNumber + " <br> " 
            + " شماره کانتینر : " + ContainerNumber + " <br> " 
            + " مسافت : " + Destination + " <br/> " 
            + " شماره تائیدیه : " + SerialNumberVerification + " <br/> " 
            + " شماره مجوز موقت : " + TempPermission + " <br/> " 
            + " شماره وسیله نقلیه : " + VehicleNumber + " <br/> " 
            + " نوع وسیله نقلیه : " + VehicleType + " <br/> " 
            + " VoyageID : " + VoyageID + " <br/> " 
            + " تاریخ خروج : " + ExitDate + " <br/> " 
            + " شماره خروج : " + ExitPermissionNumber + " <br/> " 
            + " تاریخ مجوز : " + SpecialZoneOrCustomPermissionDate + " <br/> " 
            + " شماره مجوز : " + SpecialZoneOrCustomPermissionNumber + " <br/> " 
            + "</li>"; 

       $("#contentHolder").append(fragment); 
      } 
     } 


    </script> 

</head> 
<body onload="setFocusToTextBox();" bgcolor="#E6E6FA"> 
    <form id="myForm" runat="server" dir="rtl" > 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <hr /> 
    <div> 
     <table cellpadding="1" cellspacing="0" style="width: 80%;"> 
      <tr> 
       <td> 
       </td> 
       <td> 
        <asp:Label ID="lblFirst" runat="server" Text="لطفا شماره سند را وارد نمائید : " Font-Bold="True"></asp:Label> 
        <input type="text" id="txtFirst" onfocus="setFocusToTextBox" onkeyup="return JqueryAjaxCall(this.value);" class="col-xs-4" style="background-color:#ede0dd"/> 
       </td> 

      </tr> 
      <tr> 
       <td> 
       </td> 
       <td> 
       <div id="contentHolder" > 
        <asp:Label ID="lblError" runat="server" Text=""></asp:Label> 
        </div> 
       </td> 
       <td> 
        <div class="form-errors" style="margin-right:-175%;font-style:oblique" dir="rtl" align="right"></div> 
       </td> 
      </tr> 
     </table> 
    </div> 
    </form> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <hr /> 
</body> 
</html> 
+0

Bitte Code-Schnipsel oder Beispiel für den Code hinzufügen, die Sie verwenden – OBender

+0

denke ich, dass Problem wegen append ist. Vermutlich benutze ich nat richtig anhängen. Kann mir jemand helfen? – Masoumeh

Antwort

0

auf dieser Linie Code, den Sie Ihre Ajax auf jedem Tastenklick auf jeder

onkeyup="return JqueryAjaxCall(this.value);" 

und so rufen klicken Sie die Datenausgabe haben, 3-mal und vielleicht mehr, auf jeder Taste Drücken Sie. Redesign deinen Code so, nur wenn du fertig bist, machst du das Rendern.

Verwandte Themen