문제

몇 페이지 길이의 양식이 있습니다.양식을 탐색하기 위해 내가 하는 일은 컨테이너 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에 실제로 있는 코드로 대체할 수 있습니다.

이 문제를 해결하는 방법은 수십 가지가 있습니다.한 번에 한 걸음씩 나아가십시오.

다른 팁

배열 소개부터 시작하겠습니다. 이 하나 초보자에게는 꽤 괜찮아 보입니다.

머리를 배열과 고리 주위에 감싸기 시작하면 잘 제공 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top