Jump to content

Javascript not working


bravo14

Recommended Posts

I have a couple of functions as shown below

 

 
function displayTrackingNumber()
{
if (document.getElementById('cboOrderStatus').value == 'Shipped') {
        document.getElementById('txtTrackingNumber').style.display = '';
document.getElementById('txtTrackingNumber').focus();
    } else {
        document.getElementById('txtTrackingNumber').style.display = 'none';
    }
}
 
function blankTrackingNumber()
{
if(this.value =='Tracking Number') {
this.value ='';
}
}
function checkTrackingNumber()
{
if(this.value =='Tracking Number') {
alert("Please enter a Tracking Number!");
}
if(this.value =='') {
alert("Please enter a Tracking Number!");
}
}

 

They are implemented on the page as shown here

 

<input name="txtTrackingNumber" id="txtTrackingNumber" value="Tracking Number" style="display:none" onkeydown='blankTrackingNumber()' onblur='checkTrackingNumber()' />

 

But when I leave the field nothing is happening and there is nothing appearing in the console and when I press a key on the keyboard the value 'Tracking Number is staying in the field.  

Link to comment
https://forums.phpfreaks.com/topic/285812-javascript-not-working/
Share on other sites

Thought of using the HTML5 placeholder attribute instead.

 

But to answer you question you need to call the blankTrackingNumber on the focus event not keydown event

<script>
function displayTrackingNumber()
{
    console.log(document.getElementById('cboOrderStatus').value);
    if (document.getElementById('cboOrderStatus').value == 'Shipped') {
            document.getElementById('txtTrackingNumber').style.display = '';
            document.getElementById('txtTrackingNumber').focus();
    } else {
        document.getElementById('txtTrackingNumber').style.display = 'none';
    }
}
function blankTrackingNumber(elm)
{
    if(elm.value == elm.defaultValue) {
        elm.value ='';
    }
}
function checkTrackingNumber(elm)
{
    if(elm.value == undefined || elm.value =='' || elm.value == elm.defaultValue) {
        alert("Please enter a Tracking Number!");
        elm.value = elm.defaultValue;
    }
}
</script>
<body onload="displayTrackingNumber()">
<form>
    <input type="text" id="cboOrderStatus" name="cboOrderStatus" value="Shipped" />
    <input name="txtTrackingNumber" id="txtTrackingNumber" value="Tracking Number" style="display:none" onfocus="blankTrackingNumber(this)" onblur='checkTrackingNumber(this)' />
</form>
</form>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.