我有一个图像,显示用户在周围时有一些文本字段(用户名和密码)作为工具提示。
<div class="user-pos">
<ul id ="users" class="user-list">
<li id="def-html" data-tooltip="#html-content"><img src="img/new.png" /></li>
</ul>
<div id = "html-content" style="display:none;">
<p class="newuser">Create a new user account</p>
<br/>
<div class="col-lg-6">
<label for="createUsername">Choose a username</label>
<input type="text" id="createUsername" required autocomplete="name">
<label for="createPassword">Enter your password</label>
<input type="password" id="createPassword" required value="gdh" autocomplete="name">
</div>
<div class="col-lg-6">
<label for="createEmail">Enter your email</label>
<input type="text" id="createEmail" required>
<label for="createPasswordVerify">Confirm password</label>
<input type="password" id="createPasswordVerify" required >
</div>
<div class="userbut"><button onclick="createAccount()"class="btn btn-sm btn-info">Create Account</button></div>
</div>
</div>
此javascript函数用于从这些字段中获取值并使用它。
function createAccount() {
var password = $('#createPassword').val();
var veriPas = $('#createPasswordVerify').val();
var username = $('#createUsername').val();
var email = $('#createEmail').val();
if (email.trim() === "") {
alert('email is empty');
} else if (password.trim() === "") {
alert('password is empty');
} else if (password != veriPas) {
alert('Password did not match');
} else {
var isReg = app.regUser(email, password, 1, false);
if (isReg) {
alert('user created');
} else {
alert('no user creation');
}
}
}
问题是字段始终为空。当div&#34; html-content&#34;时,js代码有效。不是用作工具提示,但如果用户在图像周围显示为工具提示,则会失败。我该如何解决这个问题
答案 0 :(得分:1)
在你的html中,密码输入框的ID为&#34; frmNameA&#34; 但是在你的JavaScript函数中,你用
引用它var password = $('#createPassword').val();
检查输入的ID是否与您的功能使用的ID相同。
答案 1 :(得分:1)
这可能有用......
$('#def-html').tooltip({
content: $("#html-content").html()
})
试试这个,我不确定如何设置数据工具提示范围,但这可能会有所帮助。
或尝试$('body input#createPassword').val();
此外,您可以将div放在自己的文件中,并使用CSS内容将其与url一起调用,并结合我在此处提供的选择方法之一。
#html-content:hover:after {
content: " (" url('myfilewithdivinit.html') ")";
}
使用.find()的示例,如果将它与上面的CSS内容方法结合使用,这可能也会有用....
function createAccount() {
var password = $('body').find('input#createPassword').val();
var veriPas = $('body').find('input#createPasswordVerify').val();
var username = $('body').find('input#createUsername').val();
var email = $('body').find('input#createEmail').val();
if (email.trim() === "") {
alert('email is empty');
} else if (password.trim() === "") {
alert('password is empty');
} else if (password != veriPas) {
alert('Password did not match');
} else {
var isReg = app.regUser(email, password, 1, false);
if (isReg) {
alert('user created');
} else {
alert('no user creation');
}
}
}
此外,您应该为按钮添加类型属性。
<button type="button" onclick="createAccount()"class="btn btn-sm btn-info">Create Account</button>