为啥我的 console.logs 没有被写入?
Posted
技术标签:
【中文标题】为啥我的 console.logs 没有被写入?【英文标题】:Why are my console.logs not being written?为什么我的 console.logs 没有被写入? 【发布时间】:2013-08-10 17:35:26 【问题描述】:我正在重构一个使用 MVC 的 asp.net 报告。我删除了报告的一些标准(不再需要)并添加了一些新标准,但现在根本没有生成报告。我单击提交按钮,它只是返回。
所以,我在代码中添加了一些 console.log 语句作为我至少到达那里的健全性检查:
$("#submit_button").click(function ()
console.log("submit btn clicked");
$("#NumberOfResults").css("visibility", "visible");
$("#NumberOfResults").html("Please wait...");
EnableButton("submit_button", false);
var deptsList = $('#depts').checkedBoxes();
$('#deptHeader span').html(deptsList.join(", "));
var sitesList = $('#sites').checkedBoxes();
$('#sitesHeader span').html(sitesList.join(", "));
$('#hiddenDepts').val(deptsList); //do I need to make this: $('#hiddenDepts').val(deptsList).join(","); ?
$('#hiddenSites').val(sitesList); // ""
var UPCs = $('UPC').val();
if (UPCs == "All")
$('UPC').val("1"); // take everything (1 and greater)
console.log("about to submit the form");
$("form").submit();
);
我认为它可能失败了,因为并非所有要传递的值都是有效的(modelState 包含错误),但是在调用 $(" 之后 不会反对进一步处理表格").submit(); ?
IOW,我希望在混合提交按钮然后按 F12 后在控制台中看到“提交 btn 单击”和“即将提交表单”,但我没有......
确实,五个模型成员中有三个是空字符串,所以我有更多问题要追查,但为什么我什至看不到这些控制台日志消息?
更新
我在最后一行的 Controller 中有一个断点:
[HttpPost]
public ActionResult ReceiptCriteria(TLDSalesReceiptCriteriaModel model)
ViewBag.DebugMessage = "No error";
if (ModelState.IsValid) // inspect locals.modelstate [breakpoint set here]
...但我什至达不到它...?!?!?
更新 2
为了回答 Karl Anderson,以下是相关的 HTML:
<button type="submit" id="submit_button" class="bottomButtonEnabled">View Report</button>
更新 3
如果有办法将控制台消息作为文本获取,我看不出怎么做,所以我抓拍了一张尖叫声:
如果您的眼睛太小而无法阅读,可以这么说(我的眼睛是),这里有一些废话:
shouldShowTB 文件不存在 - 默认操作显示工具栏 > DOMException chrom.tabs 不可用:您无权访问此 API。确保这件事.... 加载资源失败:服务器响应状态为 404 (Not Found) ... sprite.png 加载资源失败:服务器响应状态为 400(错误请求) 加载资源失败 chrome-extension://klibjjljfadl;fjkdlfjkdl;;fjdlfjadl/tb/al/state.html MessagingReadyWrapper 没有准备好。名称:abstractionLayerBack.js ,位置 .... 等待插件超时,无插件调用ready ...
更新 4
我按照 Aegis 所说的做了,使用提交按钮本身或使用:
form action="/mypath/mycshtml" method="post"
...右键单击并选择“检查元素”后在 CDT 中突出显示,我在右窗格的底部看到:
提交 形式 ...然后是一堆“gobbledygook”(这对我来说是 g[r]eek;也许 Aegis 能理解)
引用的文件是 jquery.js:6497;下面它显示了 jquery 的一堆东西(sourcename 的值是 google 的 CDN jQuery 文件的路径)。它应该指向我的 submit_button 点击处理程序吗?
更新 5
也许我的问题至少有一部分是我明确地调用了“form”.submit,提交按钮不应该是必需的 - 捣碎它应该自动提交表单,对吧?在注释掉之后(在尝试了 document.form.submit() 的原始 javascript 之后),我至少现在看到了我在控制台中添加的第一个 console.log msg(“submit btn clicked”)。因此,在第二个 console.log msg(未写入控制台)之间的某个地方出现了故障。
【问题讨论】:
你的 jQuery 选择器正确吗?它是带有ID
的submit_button
的按钮吗?还是submit_button
的一类?还是submit_button
的值都错了?
首先检查控制台是否有任何潜在的语法错误,这可能会阻止代码表单首先运行
@Karl Anderson:请参阅更新 2。
@Sushanth(这不是波斯城堡的名字吗?):请参阅更新 3
【参考方案1】:
使用 Chrome 开发工具检查事件是否绑定到 #submit_button
?
【讨论】:
你的意思是从Chrome的角度看它是否真的被认为是绑定的?如果我知道怎么做,我会... 右键单击 -> 检查元素。在右侧的边栏中,您可以看到与所选元素关联的 CSS 规则,滚动到底部并打开“事件侦听器”,然后“单击”。检查你的函数是否存在。【参考方案2】:我现在正在通过提交功能完成它。似乎有两件事导致了我的问题:
0) 默认情况下,当表单已经提交时,提交表单的多余调用,因为这是一个提交输入小部件 1) 在此处调用 .join:
$('#hiddenDepts').val(deptsList).join(",");
一旦我切断了连接:
$('#hiddenDepts').val(deptsList);
...我通过了那个位置。
【讨论】:
以上是关于为啥我的 console.logs 没有被写入?的主要内容,如果未能解决你的问题,请参考以下文章
c语言 用fwrite写入txt的文件,为啥是一堆乱码呢 ,下面是我的程序