weixin_33691700 2013-06-05 19:13 采纳率: 0%
浏览 53

为什么page load加载正常,却被卡在Event上?

我面临着一个非常奇怪的情况。我有一个JavaScript文件:

/// <reference path="jquery-1.8.2.min.js" />
var compte = 0;
var poste = [];
var posteselectionner = [3];
$(function () {

   jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function () { **//HERE ****

            alert("ds");

   });

   var msg = 1;

   $("#Uploadb").click(function () {

      alert('f');

   });

   $(".test1").click(function () {

      msg = msg + 1;

      $("#li1").html("<a href='#'><img src='images/partners/jquery.png' alt=''></a>");

   });

   $("#info").mouseover(function () {

      $("#info").popover("show");

   });

   $("#info").mouseleave(function () {

      $("#info").popover("hide");

   });

   $("#envoyer").click(function () {

      var erreur = true;

      if (document.getElementById("myFile").value == "") {

         jQuery("#alert2").attr("style", "display:block");
         erreur = false;

      } else {

         jQuery("#alert2").attr("style", "display:none");

      }

      if (compte == 0) {

         jQuery("#alert3").attr("style", "display:block");
         erreur = false;

      } else {

        jQuery("#alert3").attr("style", "display:none");
      }

      if (erreur == true) {

        jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function () {  **//HERE ****

            alert("ds");

        });

        alert('doo3');
      }

    return erreur;

});

});

如你所见,我在页面加载中绑定了一些事件,但是我想特别指出web方法的FIRST调用和SECOND调用:

1-第一个调用正在页面加载中运行:

jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function () { **//HERE ****

    alert("ds");

});

2-第二个是"envoyer"中的Event Click:

$("#envoyer").click(function () {

      var erreur = true;

      if (document.getElementById("myFile").value == "") {

         jQuery("#alert2").attr("style", "display:block");
         erreur = false;

      } else {

         jQuery("#alert2").attr("style", "display:none");

      }

      if (compte == 0) {

         jQuery("#alert3").attr("style", "display:block");
         erreur = false;

      } else {

        jQuery("#alert3").attr("style", "display:none");
      }

      if (erreur == true) {

        jQuery.getJSON("ServiceContactTest.svc/DoWork", null, function () {  **//HERE ****

            alert("ds");

        });

        alert('doo3');
      }

    return erreur;

  });

我遇到的问题是,第一个通话效果很好,但第二个则根本不起作用。

我知道第二个调用的代码不会引发错误,因为调用了alert('doo3');。

这是我的网络方法服务:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;

namespace CvContact
{
    [ServiceContract(Namespace = "")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class ServiceContactTest
    {
       [OperationContract]
       [WebGet(ResponseFormat = WebMessageFormat.Json)]
       public void DoWork()
       {
            return;
       }
    }
 }

这是我的html代码 :

<input id="envoyer" type="submit" class="btn btn-danger" runat=server value="Postuler !" ClientIdmode="static" />

我真的不知道哪里错了,你知道原因吗? page load加载正常,却被卡在Event上。

  • 写回答

1条回答 默认 最新

  • ~Onlooker 2013-06-05 19:18
    关注

    You need to prevent default behaviour on submit button otherwise your page is reload if "erreur" = true:

    $("#envoyer").click(function (e) {
        e.preventDefault();
        //code here
    
      if(!erreur)
         $('#myform').trigger('submit');//#myform   because you didn't post your html code
    });
    
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站