【发布时间】:2014-12-09 10:16:07
【问题描述】:
对不起,如果这是一个愚蠢的问题,我正在用 JQuery 做一个项目,我没有时间实际学习它,所以我直接跳进去了。
所以我正在编辑一段代码,原来是这样的:
$('#login').click(login);
因此,当单击登录按钮时,将调用登录函数。添加行:
$('#login').click();
该行按预期工作后,触发点击,然后运行登录功能。但只需将这两行替换为:
login();
HTML
<form action="#">
<div class="form-group">
<input type="text" id="nickname" class="form-control" placeholder="Enter nickname" autofocus>
</div>
<button type="submit" id="login" class="btn btn-primary btn-block">Connect</button>
</form>
Javascript
var elem = document.getElementById("nickname");
elem.value = "tom";
$('#login').click(login);
$('#login').click();
根本不工作?我不明白。当然我只是调用函数并绕过必须在 DOM 中拥有实际按钮?
更新 我确实在下面定义了函数登录,点击函数在代码本身中,我只是觉得没有必要在此处发布该代码,因为它只是调用了问题所在的函数。
更新 2 这是正在调用的登录函数:
function login(event) {
event.preventDefault();
params = {
login: $('#nickname').val(),
password: '123123123' // default password
};
// check if user did not leave the empty field
if (trim(params.login)) {
$('#loginForm form').hide();
$('#loginForm .progress').show();
// chat user creation
QB.users.create(params, function(err, result) {
if (err) {
onConnectFailed();
alertErrors(err);
} else {
chatUser = {
id: result.id,
login: params.login,
pass: params.password
};
// chat user authentication
QB.login(params, function(err, result) {
if (err) {
onConnectFailed();
alertErrors(err);
} else {
connectChat();
}
});
}
});
}
}
【问题讨论】:
-
你在哪里/如何打电话给
login()?它在哪里定义?显示更多代码以帮助您找到问题... -
所以表单在html文件
<form action="#"> <div class="form-group"> <input type="text" id="nickname" class="form-control" placeholder="Enter nickname" autofocus> </div> <button type="submit" id="login" class="btn btn-primary btn-block">Connect</button> </form>中,我正在尝试用var elem = document.getElementById("nickname"); elem.value = "tom"; $('#login').click(login); $('#login').click();自己模拟表单的输入 -
对不起,我不知道如何在 cmets 中更好地格式化...
-
你应该把这些快照放在问题本身(你可以编辑它)...
-
@KVohra95 您可能在函数内部使用了
this或eventobject。除非您显示该功能,否则我们无法确定。
标签: javascript jquery html dom button