사실 이 버그는 오래전에 접한 적이 있어서 최근 개발 중에 또 이 버그를 접했고, 이로 인해 시간도 좀 걸렸습니다. 예를 들어 Ajax를 사용하여 양식을 제출한 후 내용을 재설정해야 했습니다. 사용자 상호 작용을 피하기 위해 양식을 반복 제출하면 일반 양식 HTML 구조는 다음과 같습니다.
<form action="" method="post" id="LoginForm"> <input type="text" name="username" value="" /> <input type="password" name="password" value="" /> <input type="submit" id="submit" name="submit" value="Login" /> <input type="reset" id="reset" name="reset" value="Reset" /> </form>
단순히 JavaScript를 사용하여 재설정해야 하는 경우 document.getElementById('LoginForm').reset( )
를 사용하여 이를 달성합니다. 그런 다음 $('#LoginForm')[0].reset()
또는 $('#LoginForm').trigger("reset을 사용하세요. ")
, 그러나 위의 HTML 디자인 양식의 경우 이러한 양식 재설정 방법은 유효하지 않습니다! FireBug 디버깅 메시지 ...reset은 함수가 아닙니다
. 여기서 문제는 무엇입니까? 때로는 작은 나쁜 습관이 큰 문제를 일으킬 것이라고는 결코 생각하지 못할 때가 있습니다. 오랫동안 인터넷을 검색한 끝에 stackoverflow에서 답을 찾았습니다. >. 문제는 재설정 버튼에 있는 것으로 밝혀졌습니다. 재설정 버튼으로 구현된 HTML에 집중해 보겠습니다. document.getElementById('LoginForm').reset()
来实现,使用jQuery则使用$('#LoginForm')[0].reset()
或者 $('#LoginForm').trigger("reset")
,但是对于上述以HTML设计的表单来说,这些reset表单的方法均失效了!FireBug调试提示...reset is not a function
,这里问题出在哪里了呢?有时候你永远想不到一个小小的坏习惯会带来相当的麻烦,在纠结许久后搜索网络,在stackoverflow找到了答案。原来问题出在了reset按钮上,我们把reset按钮实现的HTML聚焦一下:
<input type="reset" id="reset" name="reset" value="Reset" />
问题就在于id="reset"
和name="reset"
,这里的reset
属性覆盖了原来的reset
方法,自然无法调用并提示is not a function
,解决的办法也很简单,避免用reset
关键词来命名reset
按钮的name
和id
属性。比如下面的命名方式则比较保险:
<input type="reset" id="ResetButton" name="ResetButton" value="Reset" />
好了,一个由命名带来的小问题就这么解决了,这时我注意到了submit按钮,其id="submit"
并且name="submit"
,会不会导致form表单的submit()
方法失效呢?由于我采用的是Ajax方式提交所以这个问题也没有深究,或许把id="submit"
和name="submit"
也改成不同的名字,比如id="SubmitButton"
和name="SubmitButton"
rrreee
id="reset"
및 name="reset에 있습니다. "
, 여기서 reset
속성은 원래 reset
메서드를 포함합니다. 당연히 이 메서드는 호출할 수 없으며 is not a function
이라는 메시지가 표시됩니다. 해결 방법도 매우 간단합니다. reset
의 name
및 id
속성 이름을 지정하는 데 reset
키워드를 사용하지 마세요. 단추. 예를 들어 다음과 같은 이름 지정 방법이 더 안전합니다. 🎜rrreee🎜네, 이름 지정으로 인한 작은 문제가 해결되었습니다. 이때 id="submit"
및 name="submit", 양식의 submit()
메서드가 실패하게 됩니까? Ajax를 사용하여 제출했기 때문에 이 문제를 자세히 조사하지 않았습니다. 어쩌면 id="submit"
및 name="submit"
를 다음과 같은 다른 이름으로 변경했을 수도 있습니다. id="SubmitButton"
및 name="SubmitButton"
이 더 좋습니다. 🎜위 내용은 양식 재설정 재설정을 해결하는 방법은 기능 오류가 아닙니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!