html form 및 javascript 에 대한 질문입니다
1.
원래 로긴해야 하는 페이지인데
하루에도 수십가지의 id 와 password 로 로긴을 해야해서
각 아이디를 클릭해서 로긴하려고
그 form 만 을 통째로 뗘 와서 html 파일을 만들었습니다
그 login form 의 submit 을 담당하는 input 이 type='image' 입니다
이 image 버튼을 그대로 쓰면 로긴이 잘 되는데
저는 텍스트를 클릭해서 로긴을 하고 싶습니다
그래서 텍스트에 a 태그나 div 태그 등을 써서
onClick 으로 함수를 호출하면 action 페이지는 열리지만 로긴은 되지 않습니다
이걸 되게 하려고 이런 저런 변형을 하던 중
그 image 버튼의 name 을 변경하거나 지워버리면
로긴이 되지 않는 걸 발견했습니다
input 의 name 만 있고 value 도 없는 image submit button 에서
name 이 form 전송에 관여하는 뭔가가 있나요?
그리고
이 input 의 type='image' name='blahblah~' 만 유지하면
작성한 onClick javascript 가 잘 작동해서 로긴이 되는데
( 이 때는 작성한 스크립트에서 form.submit() 을 주석처리하고 )
a 태그나 div 태그로 onClick 으로 같은 함수를 호출하면
( 이 때는 마지막에 form.submit() 을 해주고)
해당 페이지만 열리고 로긴은 안 됩니다
제가 뭔가를 잘 못 알고 있거나 간과하고 있는 것 같은데
그게 대체 뭘까요?
어떻게 해야 제가 하고 싶은대로
텍스트를 클릭하면서 로긴할 수 있을까요?
추가----------------------
해당 form 에서 한 input 이 value 가 6000byte 가 넘어서
링크 주소에 query 를 넣는다던가 그런 방법이 불가능 해서 form 을 뗘 온것입니다
(게다가 그 query 는 value 가 매일 바뀌어서 그걸 긁어오는 함수까지 넣었고 모두 잘 동작합니다)
이해가 잘...
재현을 위하여 어느 정도 간단한 code를 올려주시는 것도 좋을 것 같네요.
어쩌면 browser bug일 수도 있고, 뭔가 보안정책상 한계가 있는 걸지도 모르겠고...
기본적으로 name은
기본적으로 name은 url로 전송되는 데이터 필드명이고
Javascript에서 name으로 객체에 접근할 수도 있기 때문에
name이 바뀌어서 안될 가능성도 있습니다.
<input type="image"
<input type="image" name="blabla" src="">
를
<input type="submit" name"blabla"> 텍스트 </input>
로 바꾼 다음에 로그인이 되는지 확인해보세요
A태그로 처리했다면
A태그로 처리했다면 자바스크립트에서 해당 폼 이름으로 submit을 반드시 해줘야 form에 지정된 로직 페이지로 데이터가 전송됩니다.
<input type="image">와 비슷한 효과 내는 넘이라면 <input type="submit">이란 넘도 있습니다.
그리고 name은 실제 로직에 전달되는 변수 명이되고, 자바스크립트에서는 id를 씁니다.
Written By the Black Knight of Destruction
Written By the Black Knight of Destruction
getElementsByName이라는
getElementsByName이라는 함수도 있습니다.
페이지 분석을 어렵게하려고 각각의 html element에 같은 name을 주고
인덱스로 접근하는 방법도 있습죠우 = ω=)r;;;
댓글 달기