Hi zynergiatechn,
Since you are using getElementsByName it returns multiple elements. So you need to select 0th Index to fetch the value.
Here is the modified code.
function Identify()
{
let fstnme = document.getElementsByName("firstname")[0].value;
let lstnme = document.getElementsByName("lastname")[0].value;
let workidno = fstnme + "." + lstnme;
document.getElementsByName("workeridno")[0].value = workidno;
}
Refer this example.
Model
public class PersonModel
{
public string firstname { get; set; }
public string lastname { get; set; }
}
Controller
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
View
@model Set_TextBox_JavaScript_Core.Models.PersonModel
@addTagHelper*, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<form asp-action="Index">
<div class="form-group">
<label asp-for="firstname" class="control-label"></label>
<input asp-for="firstname" class="form-control" name="firstname" />
</div>
<div class="form-group">
<label asp-for="lastname" class="control-label"></label>
<input asp-for="lastname" class="form-control" name="lastname" />
</div>
<div class="form-group">
<input type="submit" value="identify" onclick="return Identify()" />
</div>
<hr />
<input class="form-control" name="workeridno" />
</form>
<script type="text/javascript">
function Identify()
{
let fstnme = document.getElementsByName("firstname")[0].value;
let lstnme = document.getElementsByName("lastname")[0].value;
let workidno = fstnme + "." + lstnme;
document.getElementsByName("workeridno")[0].value = workidno;
return false;
}
</script>
</body>
</html>
Screenshot
