js定位Element=document.querySelector("<input type="text" value="" readonly="readonly" disabled="disabled">") ,报错:after argument list
时间: 2023-07-02 09:11:46 浏览: 160
出现这个错误是因为您的 JavaScript 代码中存在语法错误,很可能是因为您的字符串中包含了未被转义的引号。您可以尝试将字符串中的双引号改为单引号,或者在引号前加上反斜杠,将其转义。
以下是一个示例代码,使用单引号来定义字符串:
```javascript
var element = document.querySelector('input[type="text"][readonly][disabled]');
```
或者在引号前加上反斜杠,将其转义:
```javascript
var element = document.querySelector("<input type=\"text\" value=\"\" readonly=\"readonly\" disabled=\"disabled\">");
```
请注意,这个示例代码使用了属性选择器,以选择具有 "text" 类型、"readonly" 属性和 "disabled" 属性的输入元素。如果您需要根据不同的属性值来选择元素,请相应地修改选择器。
相关问题
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> <script src="/day08/js/axios.min.js"></script> </head> <body> 用户名:<input type="text" id="username"><br> 密码:<input type="password" id="password"> <span id="msg"></span> <button id="login">登录</button> <script> //获取元素 let loginBtn = document.querySelector("#login"); let usernameInput =document.querySelector("#username"); //先拿框,.value再获取框里的值,定义在函数外axios拿不到值,需放在函数里 // let username = document.querySelector("#username").value; // let password = document.querySelector("#password").value; //注册点击事件 loginBtn.onclick = function () { let username = usernameInput.value; let password = document.querySelector("#password").value; let msg = document.querySelector("#msg"); axios.get("/day08/login?username="+username+"&password="+password) //成功之和响应的值放在response中,自动调用函数 .then(response=>{ // 成功之后要执行的内容,js对象 msg.innerText =response.data; },error=>{ //因为网络等原因,传输失败执行这里的代码(404等不属于) }) } //当用户名在用户名失去焦点时,获取用户名 usernameInput.onblur = function () { let username =usernameInput.value; let msg = document.querySelector("#msg"); //独立功能,判断用户名是否重复 axios.get("/day08/usernameCheck?username="+username) .then(response=>{ console.log(response.data); if(response.data==200){ //通过js控制样式(颜色等) msg.style.color ="green"; msg.innerText ="可以正常注册"; }else{ msg.style.color ="red"; msg.innerText ="用户名太受欢迎,请重新输入"; } }) } </script> </body> </html>
这段代码是一个基本的前端登录页面,其中包括输入用户名和密码的输入框以及登录按钮。在点击登录按钮时,页面会向后端发送用户名和密码,如果验证成功,则会在页面上显示登录成功的信息,否则会显示登录失败的信息。
另外,代码中还包括一个用户名输入框的失去焦点事件,当用户输入完用户名并离开输入框时,页面会向后端发送用户名,后端会返回一个状态码,根据状态码来判断用户名是否可用,并在页面上显示相应的提示信息。
需要注意的是,这段代码中使用了Axios库来进行网络请求,所以需要在页面中引入Axios库的js文件。
错误<script type="text/javascript"> var re="<%=re.getName() %>"; var nam="您好,"; var user_name='<%=re.getUser_name() %>'; var phone='<%=re.getPhone() %>'; var mail='<%=re.getMail() %>' var chage_username=document.querySelector(".chage_username input"); var chage_phone=document.querySelector(".chage_phone input"); var chage_mail=document.querySelector(".chage_mail input"); if(user_name!='null'){ chage_username.value=user_name; } if(phone!='null'){ chage_phone.value=phone; } if(mail!='null'){ chage_mail.value=mail; } document.getElementById("na").innerHTML =nam+re; var i=0; function chage(){ var tabled=document.querySelector(".tabled"); var chage_username=document.querySelector(".chage_username input"); var chage_sex=document.querySelector(".chage_sex input"); var chage_phone=document.querySelector(".chage_phone input"); var chage_mail=document.querySelector(".chage_mail input"); var chage_age=document.querySelector(".chage_age input"); if(i%2==0){ tabled.style.display="block"; chage_username.removeAttribute("readonly"); chage_sex.removeAttribute("readonly"); chage_phone.removeAttribute("readonly"); chage_mail.removeAttribute("readonly"); chage_age.removeAttribute("readonly"); } else{ tabled.style.display="none"; chage_username.setAttribute("readonly",'true'); chage_sex.setAttribute("readonly",'true'); chage_phone.setAttribute("readonly",'true'); chage_mail.setAttribute("readonly",'true'); chage_age.setAttribute("readonly",'true'); } i++; } </script>
这段代码中可能存在的错误是:在使用变量re.getName()、re.getUser_name()、re.getPhone()和re.getMail()之前,可能需要先定义变量re并给其赋值。此外,在使用innerHTML属性输出内容时,需要注意防止XSS攻击,最好使用innerText属性来输出文本内容。此外,可能需要对表单元素的值进行判断,避免出现null值,可以使用typeof操作符或者判断其是否等于字符串"null"来进行判断。最后,该代码中存在一个未定义的函数chage(),可能需要在其他地方进行定义。
阅读全文