Reputation: 2246
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
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