原来做的一读卡程序时把卡放到读卡器上,然后按键读卡,将卡的值写到TextBox里。
JS代码function CloseCard()
{
Reader.PortClose();
return true;
}
var xmlhttp;
function ValidationXML()
{
Reader.PortOpen();
Reader.ReadDefault(1);
var sn = Reader.GetCardID();
// window.alert (sn);
if(sn=="")
{
alert("没有读到卡,请放卡!")
CloseCard();
}
else
{
CloseCard();
if(window.ActiveXObject)
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
xmlhttp.open("Post","GetKahao.aspx?sn="+sn,true);
xmlhttp.onreadystatechange = onMessBack;
xmlhttp.send(null);
return false;
}
}
function onMessBack()
{
if(xmlhttp.readystate == 4 && xmlhttp.status == 200)
{
document.getElementById("txtCardNum").value=xmlhttp.responseText;
}
}
前台就用BUTTON调用这个方法就行了
代码:<input id="Btn" onclick="javascript:return ValidationXML();" type="button" value="读卡(R)"
class="btn" accesskey="r" />但是现在我想做成用户把卡放到读卡器上,就自动读取卡的值 写到TextBox里。
是不是在载入时每隔多久就读卡1次像这样:
gftimer=setTimeout('gofirst()',5000);window.onload = function gofirst()
{
clearTimeout(gftimer);
ValidationXML();
}
这样对么?还有什么别的办法
JS代码function CloseCard()
{
Reader.PortClose();
return true;
}
var xmlhttp;
function ValidationXML()
{
Reader.PortOpen();
Reader.ReadDefault(1);
var sn = Reader.GetCardID();
// window.alert (sn);
if(sn=="")
{
alert("没有读到卡,请放卡!")
CloseCard();
}
else
{
CloseCard();
if(window.ActiveXObject)
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
xmlhttp.open("Post","GetKahao.aspx?sn="+sn,true);
xmlhttp.onreadystatechange = onMessBack;
xmlhttp.send(null);
return false;
}
}
function onMessBack()
{
if(xmlhttp.readystate == 4 && xmlhttp.status == 200)
{
document.getElementById("txtCardNum").value=xmlhttp.responseText;
}
}
前台就用BUTTON调用这个方法就行了
代码:<input id="Btn" onclick="javascript:return ValidationXML();" type="button" value="读卡(R)"
class="btn" accesskey="r" />但是现在我想做成用户把卡放到读卡器上,就自动读取卡的值 写到TextBox里。
是不是在载入时每隔多久就读卡1次像这样:
gftimer=setTimeout('gofirst()',5000);window.onload = function gofirst()
{
clearTimeout(gftimer);
ValidationXML();
}
这样对么?还有什么别的办法
function StartRead()
{
debugger;
var vWxcj;
var vPzhm;
var vPzys;
var vGcPzhm;
var vSjy;
var statesId = "";
FindCard();
if (devinfo != "")
{
snCard = devinfo;
var s1Card = devinfo;
snCard = document.all["HdRfNo"].value
if (snCard == "")
{
//snCard是旧值
document.all["HdRfNo"].value = devinfo;
}
///主车写第9块。
devinfo = MWRFATL.MF_Read(9);
vPzhm = devinfo;
sPzhm = MWRFATL.MF_a_Hex(vPzhm, 16);
///牌照颜色写第10块
devinfo = MWRFATL.MF_Read(10);
vPzys = devinfo;
sPzys = MWRFATL.MF_a_Hex(vPzys, 16);
//挂车写第6块。
devinfo = MWRFATL.MF_Read(6);
vGcPzhm = devinfo;
sGcPzhm = MWRFATL.MF_a_Hex(vGcPzhm, 16);
//送检员写第8块。
devinfo = MWRFATL.MF_Read(8);
vSjy = devinfo;
sSjy = MWRFATL.MF_a_Hex(vSjy, 16);
if (sPzhm != "" && sPzys != "")
{
dosometing
MWRFATL.RF_Beep(10);
}
////卡号相同的话就寻卡。
if (s1Card == snCard)
{
FindCard();
}
///不同的话赋值给当前卡号。
else
{
document.all["HdRfNo"].value = s1Card;
}
}
else
{
// document.all["HdRfNo"].value = "";
document.all["txtRfNo"].value = "";
// CloseReader();
// StartRead();
}