어떻게 확장할 수 있나요?
-
05-07-2019 - |
문제
몇 페이지 길이의 양식이 있습니다.양식을 탐색하기 위해 내가 하는 일은 컨테이너 div를 표시하고 숨기는 것뿐입니다.마지막 페이지는 제출 전 확인 페이지입니다.이는 양식의 내용을 가져와서 사용자가 방금 작성한 내용을 볼 수 있도록 배치합니다.이들 중 하나를 클릭하면 원래 있던 페이지(#nav1~3)로 돌아가서 해당 필드에 집중하고 필요한 경우 새 값을 입력할 수 있습니다.
jQuery를 사용하여 모든 필드/라디오/체크/선택/텍스트 영역/무엇이든 변수를 만들었습니다.내 방법이 어리석은 것 같으면 저를 pwn해 주세요. 하지만 기본적으로 이 방법은 이미 잘 작동하지만 시도 중입니다. 규모 그리고 저는 제가 무엇을 하고 있는지 잘 모르기 때문에 어떻게 해야 할지 전혀 모릅니다.생각?
var field1 = '<a href="#" onclick="$(\'#nav1\').click();$(\'input#field-1\').focus();" title="Click to edit">' + $('input#field-1').val() + '</a>'; $('#field1-confirm').html(field1); var field2 = '<a href="#" onclick="$(\'#nav1\').click();$(\'input#field-2\').focus();" title="Click to edit">' + $('input#field-2').val() + '</a>'; $('#field2-confirm').html(field2);
그리고 field3, 4, 5~25 등이 있습니다.
프로그래머가 아닌 용어로 설명하는 데 도움을 주신다면 영원히 사랑하겠습니다.
해결책
너무 복잡해지지 않고 반복적인 작업을 처리하는 함수를 만들 수 있습니다.나는 이것을 테스트하지는 않았지만 다음과 같은 아이디어를 얻을 것입니다.
function valField(fieldName,navName) {
var output = '<a href="javascript://" onclick="$(\''+navName+'\').click();$(\'input#'+fieldName+'\').focus();" title="Click to edit">' + $('input#'+fieldName).val() + '</a>';
$('#'+fieldName+'-confirm').html(output);
}
valField("field-1","nav1")
valField("field-2","nav1")
valField("field-293","nav3")
Javascript에 능숙해지면 아마도 이러한 모든 "valField()" 호출을 처리하는 루프를 만들거나 양식을 검사하고 거기에 있는 내용을 찾아 자동으로 결합하는 이벤트 핸들러를 생성하는 무언가를 작성할 것입니다.확실히 "n00bware"는 아니지만 생각해 볼 만한 내용을 제공합니다.
또한 출력에 이것을 사용하는 대신 다음을 수행하십시오.
$(\''+navName+'\').click();
탐색 탭의 onclick에 실제로 있는 코드로 대체할 수 있습니다.
이 문제를 해결하는 방법은 수십 가지가 있습니다.한 번에 한 걸음씩 나아가십시오.
다른 팁
배열 소개부터 시작하겠습니다. 이 하나 초보자에게는 꽤 괜찮아 보입니다.
머리를 배열과 고리 주위에 감싸기 시작하면 잘 제공 될 것입니다.