두 가지 기능이 있습니다. 하나는 양식의 이름 필드에 정보의 유효성을 검사하고 다른 하나는 해당 필드의 정보를 가져 와서 경고 상자에 출력하는 두 가지 기능입니다. 이와는 별개로이 기능들은 정상적으로 작동합니다. 둘 다 호출해야하므로 래퍼 함수를 만들었습니다. 이 기능은 실행되지만 초점 맞추기 대신 새로 고침됩니다. 이상한 것은 첫 번째 필드를 검사하면 .focus();를 포함하여 모든 것이 잘되지만 두 번째 필드의 유효성을 검사하려고하면 .focus(); 작동하지 않고 페이지가 새로 고침됩니다. 어떤 도움을 주시면 감사하겠습니다. (난이 추가 내 첫 번째 질문을 수정하려고했지만 내가 저장 갔을 때, 아무것도 무슨 일이 생긴 없습니다.)래퍼 기능이 제대로 작동하지 않습니다 (자바 스크립트)
function main() {
var test = validate();
if (test == true) {
concatinate();
return true;
}
}
function validate() {
//alert ("TEST!!!");
var first = document.getElementById('firstname').value;
if (first.length == 0 || first.length > 25) {
alert("Please enter your first name, no longer than 25 chracters.");
document.getElementById('firstname').focus();
return false;
}
var last = document.getElementById('lastname').value;
if (last.length == 0 || last.length > 25) {
alert("Please enter your last name, no longer than 25 characters.");
document.getElementsByName('lastname').focus();
return false;
}
var title = document.getElementById('title').value;
if (document.getElementById('title').selectedIndex == 0) {
alert("Please select your salutation");
document.getElementById('title').focus();
return false;
}
return true;
}
function concatinate() {
var first = document.getElementById('firstname').value;
var last = document.getElementById('lastname').value;
var title = document.getElementById('title').value;
var fullname = title + " " + first + " " + last;
var printFull = "Welcome, " + fullname;
alert(printFull);
}
<form name="name" form id="name" method="post" onsubmit="return main();">
Salutation: <select name="title" select id="title">
<option selected="Please Select">Please select</option>
<option value="Mr.">Mr.</option>
<option value="Mrs.">Mrs.</option>
<option value="Miss">Miss</option>
</select><br><br>
First Name : <input type="text" input id="firstname" name="firstname">
Last Name : <input type="text" input id="lastname" name="lastname"><br><br>
<input type="submit" value="Submit"><br><br>
</form>
나는이 맞춤법 클래스 아니라는 것을 알고,하지만 난 당신이 찾고 있던 생각 "CONCATENATE." –
분명히 나는 4 년 동안 대학에서 많은 것을 배웠다. –
HTML에이 코드가 어디에 있습니까? 다른 함수'window.onload = function() {...}'안에 있습니까? – bfavaretto