为什么我的console.logs没有被写入?

时间:2013-08-08 20:36:23

标签: jquery asp.net-mvc console google-chrome-devtools

我正在重构使用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包含错误),但是在调用$(“之后不会反对进一步处理形式“)提交(); ?

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

如果有办法将控制台消息作为文本,我无法看到如何,所以我抓住了一声尖叫:

enter image description here

如果你的眼睛太小而无法阅读,可以这么说(我的是),这里有一些措辞:

shouldShowTB文件不存在 - 默认操作显示工具栏&gt;抛出:DOMException chrom.tabs不可用:您无权访问此API。确保这件事.... 无法加载资源:服务器响应状态为404(未找到)... sprite.png 无法加载资源:服务器响应状态为400(错误请求) 无法加载资源chrome-extension:// klibjjljfadl; fjkdlfjkdl ;; fjdlfjadl / tb / al / state.html MessagingReadyWrapper没有准备好。 name:abstractionLayerBack.js,location .... 超时等待插件,在没有插件的情况下调用就绪 ...

更新4

我做了Aegis所说的,并使用提交按钮本身或使用:

form action="/mypath/mycshtml" method="post" 

...在右键单击并选择“检查元素”后在CDT中突出显示,我在右侧窗格的底部看到:

提交     形成 ......然后是一堆“gobbledygook”(这对我而言;也许Aegis明白了)

引用的文件是jquery.js:6497;下面它显示了一堆jquery的东西(sourcename的值是google的CDN jQuery文件的路径)。它应该指向我的submit_button点击处理程序吗?

更新5

也许至少我的问题的一部分是我正在调用“form”。明确提交,这对于提交按钮不应该是必要的 - 混合它应该自动提交表单,对吧?在评论完之后(在尝试使用document.form.submit()的原始javascript之后)我至少现在看到我在控制台中添加的第一个console.log msg(“提交btn clicked”)。所以介于那里和第二个console.log msg(没有写入控制台)之间的某些东西就失败了。

2 个答案:

答案 0 :(得分:1)

如果事件绑定到#submit_button,请使用Chrome开发工具查看?

答案 1 :(得分:0)

我现在正在完成提交功能。似乎有两件事导致了我的问题:

0)默认情况下提交表单的多余调用,因为这是一个提交输入小部件 1)在这里打电话给.join:

$('#hiddenDepts').val(deptsList).join(",");

一旦我切断了联接:

$('#hiddenDepts').val(deptsList);

......我已经过了那个地方。