2011-04-01 9 views
1

UIWebView에서 웹 페이지의 텍스트 상자를 클릭하면 해당 텍스트 상자의 이름을 가져 오는 방법이 있습니까?UIWebview에서 현재 필드를 얻는 방법

stringByEvaluatingJavaScriptFromString을 사용할 수 있어야하지만 이미 필드 또는 텍스트 상자의 이름을 모르는 경우 많이 사용하지 않을 것입니다.

답변

2

iOS 웹킷에서 테스트하지는 않았지만 document.activeElement은 사용자가 입력 필드를 선택한 경우 현재 포커스가있는 요소의 DOM 노드를 제공해야합니다.

노드의 value 속성을 설정하여 내용을 수정할 수 있습니다.

사용자가 입력 필드를 선택하지 않은 경우 activeElement는 DIV 또는 BODY 또는 일부일 수 있습니다. 노드의 속성 인 nodeName을 검사하여이를 확인할 수 있습니다.

어떤 종류의 노드인지에 따라 innerHtml 특성을 설정해야 할 수 있습니다.

+0

거의 답이었습니다. 나는 어떤 것을 보았지만 그것이 단지 "document.activeElement"라는 것을 깨달았습니다. 그래서 나는 이런 식으로 끝났다 : \t'code'jScriptString = [NSString stringWithFormat : @ "var field = document.activeElement;" \t \t \t \t \t "field.value = 'something';", symbol.data]; \t [myWebView stringByEvaluatingJavaScriptFromString : jScriptString];'code' 답을 수정하면 올바르게 표시됩니다. 감사합니다. – AaronG

+0

id 필드없이 노드의 이름을 원한다면 노드 인스턴스 자체를 가져 오는 것이지 "이름"이 아닙니다. 그러나 나는 당신이 실제로 묻고있는 것을 반영하기 위해 답을 편집 할 것입니다. :-) – codelark

+0

수업을 가져 주셔서 감사합니다. – AaronG

관련 문제