I have the following HTML form:
我有以下HTML表单:
<div id="main">
<form Id="search-form" action="/ViewRecord/AllRecord" method="post">
<div>
<fieldset>
<legend>Search</legend>
<p>
<label for="username">Staff name</label>
<input id="username" name="username" type="text" value="" />
<label for="softype"> software type</label>
<input type="submit" value="Search" />
</p>
</fieldset>
</div>
</form>
</div>
And I want to show an alert
box when the username
field is clicked. This is my JQuery code:
并且我想在单击用户名字段时显示警告框。这是我的JQuery代码:
$(function() {
$("#username").click(function() {
$.getJSON("ViewRecord/GetSoftwareChoice", {},
function(data) {
alert(data);
});
});
});
For certain reason the Click
is never fired; anything I did wrong?
出于某种原因,Click永远不会被解雇;我做错了什么?
2 个解决方案
#1
Your code is correct and the event should be fired. Probably the problem is with AJAX call. Put an alert before the ajax call to make sure that this is indeed the problem.
您的代码是正确的,应该触发该事件。问题可能在于AJAX调用。在ajax调用之前发出警报以确保这确实是问题所在。
#2
You might want the focus
event instead, as click
will only fire if you explicitly click on the element:
您可能需要焦点事件,因为只有在您明确单击元素时才会触发click:
$(function() {
$("#username").focus(function() {
$.getJSON("ViewRecord/GetSoftwareChoice", {}, function(data) {
alert(data);
});
});
});
Other than that, you might want to look in Firebug to make sure the request is completing successfully. Or, even better, you could use the lower-level $.ajax
call to see if the request is not completing:
除此之外,您可能希望查看Firebug以确保请求成功完成。或者,更好的是,您可以使用较低级别的$ .ajax调用来查看请求是否未完成:
$(function() {
$("#username").focus(function() {
$.ajax({
url: 'ViewRecord/GetSoftwareChoice',
dataType: 'json',
type: 'GET',
success: function(data) { alert(data); },
error: function() { alert('something went wrong!'); }
});
});
});
#1
Your code is correct and the event should be fired. Probably the problem is with AJAX call. Put an alert before the ajax call to make sure that this is indeed the problem.
您的代码是正确的,应该触发该事件。问题可能在于AJAX调用。在ajax调用之前发出警报以确保这确实是问题所在。
#2
You might want the focus
event instead, as click
will only fire if you explicitly click on the element:
您可能需要焦点事件,因为只有在您明确单击元素时才会触发click:
$(function() {
$("#username").focus(function() {
$.getJSON("ViewRecord/GetSoftwareChoice", {}, function(data) {
alert(data);
});
});
});
Other than that, you might want to look in Firebug to make sure the request is completing successfully. Or, even better, you could use the lower-level $.ajax
call to see if the request is not completing:
除此之外,您可能希望查看Firebug以确保请求成功完成。或者,更好的是,您可以使用较低级别的$ .ajax调用来查看请求是否未完成:
$(function() {
$("#username").focus(function() {
$.ajax({
url: 'ViewRecord/GetSoftwareChoice',
dataType: 'json',
type: 'GET',
success: function(data) { alert(data); },
error: function() { alert('something went wrong!'); }
});
});
});