我有一个页面,我们团队的另一部分使用 jquery 来实现某些功能。当调用 jquery* 文件时,我的 javascript 验证将 HTML5 占位符视为值。如果我取出 jqueryeverthign 工作正常。
例如,如果我有这个:
!document.getElementById("company").value
使用 html 文件中的 jquery,无论是在 header 还是在正文中,我的 JS 不会将其视为 null 或空,而是将其视为 HTML5 占位符的值。
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/jquery.main.js"></script>
感谢您提供的任何帮助。
最佳答案
如果我理解正确的话,您有一个带有 placeholder
属性的表单,可以正常工作。在您的代码中,使用 vanilla javascript,您将读出该表单字段的 value
属性,如果该字段为空,它通常会返回一个空字符串。但现在,在包含 jQuery 后,请求 value
属性会返回 placeholder
文本。
对我来说这听起来像是一个错误。您有机会使用 IE 吗? 这不是解决方案,而是一种解决方法。您可以做的是将获得的值与占位符文本进行比较。如果相等,则可以得出该字段仍为空的结论:
<input name="company" type="text" id="company" onFocus="changebrc('Company');" placeholder="Company Name"/>
if (document.getElementById("company").value == "公司名称"){/*字段为空*/}
如果用户决定输入占位符中写入的相同文本,则此操作将不起作用,如果使用正确的占位符文本,则不太可能发生这种情况。
关于javascript - html5 占位符与 jquery - javascript 输入值请参阅占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34408465/