Matthew
Matthew

Reputation: 2246

RegEx expression not alerting properly in JS

Okay, so when the user enters his/her full name in the field, I want a greeting to say, "Nice to meet you, (split name). I want to take the value of the input, take the innerHTML, split it, then take the first part ([0]), and alert it!

Ignore the if/else stuff :P

HTML

 <form onsubmit="return formValidate(this);">

        <label>Full name</label><br>
        <input type="text" id="name"/>
</form>

JS

function formValidate(form){

// set initial status
var status = true;

    var name = document.getElementById("name"),
   full_name = name.innerHTML,
   full_name_split = full_name.split(" ")[0];

    if(name.value == "") {
        document.getElementById("name-alert").innerHTML = alerts[0];
        status = false;
    } else if(namePatt.test(name.value) == false){
        document.getElementById("name-alert").innerHTML = alerts[1];
        status = false;
    } else if(name.value.indexOf(charSpace) == 0 || name.value.indexOf(charSpace) == -1){
        document.getElementById("name-alert").innerHTML = alerts[2];
        status = false;
    }

    alert(full_name_split);

// return the initial status
return status;  

  }

Upvotes: 0

Views: 42

Answers (1)

mishik
mishik

Reputation: 10003

input elements do not have .innerHTML. Use .value instead:

var name = document.getElementById("name"),
    full_name = name.value,
    full_name_split = full_name.split(" ")[0];

Upvotes: 3

Related Questions