我想从我的页面中删除一个div,一旦收到XMPHttpRequest响应。我也尝试将div的显示设置为none:document.getElementById('password')。style.display ='none';但那也没用。使用JavaScript从页面中删除div
HTML:
<div class="login-container">
<div class="title">Login Form</div>
<div class="form-fields" id="form-fields">
<form name="login_form" method="post" id="login-form" onsubmit="return submitForm()">
<input type="text" name="username" id="username" placeholder="Username" required></input>
<input type="password" name="password" id="password" placeholder="Password" required></input>
<input type="submit" value="Log in" id="submit-button"></input>
<input id="sessionID" class="hidden"></input>
</form>
</div>
<div id="success-message" class="hidden">Congratulations! You have been logged in.</div>
<button id="logout" class="hidden"></button>
</div>
JavaScript函数:
function sendLoginInfo() {
var loginRequest = new XMLHttpRequest();
loginRequest.open("POST", "server/login.php", false);
loginRequest.setRequestHeader('Content-type', "application/json");
loginRequest.onreadystatechange = function() {
if(loginRequest.readyState == 4 && loginRequest.status == 200) {
sessionID = keyRequest.responseText;
var el = document.getElementById('password');
el.parentNode.removeChild(el);
}
}
loginRequest.send(JSON.stringify(JSONFormData));
}
更新
这个问题已经解决了改变:
<form name="login_form" method="post" id="login-form" onsubmit="return submitForm()">
收件人:
<form name="login_form" method="post" id="login-form" onsubmit="submitForm(); return false;">
也看到这个:http://stackoverflow.com/questions/3387427/javascript-remove-element-by-id – 2014-10-30 22:35:06
你的'if'实际上是否进入? – 2014-10-30 22:44:13
编写的代码应该可以工作,如果执行**'var el = document.getElementById('password')'并返回一个元素。 – RobG 2014-10-30 22:46:20