我正在尝试在我的JSP程序中调试函数调用,并且确实对事情的工作顺序感到困惑。我正在使用NetBeans。当我在调试模式下运行项目时,它进入我的'$(“#searchEFT”)。mouseup(function()'函数并遍历所有这些.'searchEFT'是一个按钮,我正在使用访问我的servlet。当我处理页面然后单击'searchEFT'按钮时,它会根据获得正确的警报但在调试中没有跟踪来触及函数调用。为什么这样做?是首次调用函数on load设置用户执行鼠标点击时的检查?
此函数位于顶部的'$(document).ready(function()'之外,函数调用位于JSP中的按钮声明之后。
编辑:这是JSP代码:
@Override
protected void onPostExecute(Movies[] strings) {
if (strings != null) {
mMoviesAdapter.clear();
for (Movies moviesStr : strings) {
mMoviesAdapter.add(moviesStr);
}
}else if(mFavouriteMovies != null){
mMoviesAdapter.clear();
for(FavouriteMovies favouriteMoviesStr : mFavouriteMovies){
mMoviesAdapter.offlineAdd(favouriteMoviesStr);
}
}
Log.v("FetchMoviesTask","Count :" + mMoviesAdapter.getItem(0));
mMoviesAdapter.notifyDataSetChanged();
}
由于
答案 0 :(得分:1)
该行:
$("#searchEFT").mouseup(function ()
是设置 mouseup
处理程序的函数调用;它不是mouseup处理程序本身。
如果你想在里面中断鼠标处理程序,那么你需要在处理函数本身的某个地方设置一个断点,例如,
// First executable line of the mouseup handler
var Cmd_Sched_Number = $('#CMDScheduleNumber').val();
不相关,但我会将处理程序功能分解为多个较小的部分,粗略地说:
function getFormData() {
return {
number: $('#CMDScheduleNumber').val().trim(),
year: $('#CMDContractYear').val().trim(),
status: $('#CMDSchedStatus').val().replace(/\s/g, '').trim(),
date: $('#CMDCreationDate').val().trim()
};
}
function invalidNumberAndYear(formData) {
return ((formData.number !== '') && (formData.year === '')) ||
((formData.year !== '') && (formData.number === ''));
}
function isPullAll(formData) {
return formData.number === '' &&
formData.year === '' &&
formData.status === '' &&
formData.date === '';
}
function searchEftMouseup(e) {
e.preventDefault();
var formData = getFormData();
if (invalidNumberAndYear(formData)) {
alert('Schedule Number and EFT Contract Year must be both populated');
return;
}
if (isPullAll(formData)) {
if (confirm('Are you sure you want to pull all EFT schedule numbers?')) {
$('#formID').submit();
} else {
alert('Please enter information in any of the command line fields');
}
}
}
$('#searchEFT').on('mouseup', searchEftMouseup);
这样可以轻松地思考小东西,并开始揭示您的验证需求,并为您的剩余代码建议一个形状。
(其中大多数,顺便说一下,与问题无关 - 只发布帮助人们理解问题所需的最低金额是好的:)