2009-10-13 4 views
1

기본 ASP.NET MVC 앱을 만들고 있습니다. jquery를 사용하여 두 개의 버튼이 다른 방식으로 양식을 제출하도록하고 싶습니다. 내가 얻는 오류는 "Object expected"입니다. 여기 jquery가는 중 : 'Object Expected'오류가 발생했습니다.

<input type="button" id="StartTask" value="Start" onclick="StartTask()" /> 
<input type="button" id="StopTask" value="Stop" onclick="StopTask()" /> 

내 스크립트 태그입니다 : 내가 다른 일을 시도하고 있기 때문에

<script src="~/Scripts/jquery-1.3.2.js"  type="text/javascript" /> 
<script src="~/Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript" /> 
<script type="text/javascript"> 
    $("#StartTask").click(function() { 
     $.post("/Home/StartTask"); 
    }); 
    function StopTask() { 
     $.post("/Home/StopTask"); 
    } 
</script> 

기능이 다른

다음은 버튼입니다.
jquery가 포함되어 있으면 양쪽 단추 모두 "개체 예상"을 표시합니다. jquery가 없으면 $ ("# StartTask")의 시작 버튼 폭탄과 $. post()의 두 번째 폭탄이 포함됩니다.

편집 : 추가, 멍청한 놈 단계 내가 놓친 거지 어떤 기본 컨트롤러 메소드

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult StartTask() 
{ 
    return View(); 
} 

?

보너스 :이 실수로 나를 도왔던 튜토리얼을 누군가 가르쳐 줄 수 있습니까?

+0

키가 내

2

아마도 $ ("# StartTask")가 호출되면 DOM 트리에 추가되지 않았을 것입니다. 당신은 당신의 버튼 클릭과 같은 일이 다른 방법을하고

<script type="text/javascript"> 
    $(window).ready(function(){ 
    $("#StartTask").click(function() { 
     $.post("/Home/StartTask"); 
    }); 
    $("#StopTask").click(function() { 
     $.post("/Home/StopTask"); 
    }); 
    }); 
</script> 

<input type="button" id="StartTask" value="Start" /> 
<input type="button" id="StopTask" value="Stop" /> 
+0

그러나 StopTask 폭탄을 해결하지는 않습니다. – Evildonald

+0

@Mauris, 감사합니다. 그것을 시도했다. 일하지 않았어. 너 또 무엇을 가지고 있니? – Rap

+0

업데이트 된 게시물. @bpayne - 무엇이 잘못 됐습니까? – mauris

1

:에

한 가지 확실한 방법이다. 처음부터 그들에게 제복을 입히십시오. 함수가 존재하지 않기 때문에 Start가 시작됩니다. 그리고 정지는 여러 가지 이유로 폭격 일 수 있습니다. 시작하려면 .. 둘 다 똑같이 작동하도록하십시오. 이에

<script src="~/Scripts/jquery-1.3.2.js"  type="text/javascript" /> 
<script src="~/Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript" /> 
<script type="text/javascript"> 
    function StartTask() { 
     $.post("/Home/StartTask"); 
    } 
    function StopTask() { 
     $.post("/Home/StopTask"); 
    } 
</script> 

또는

(JQuery와 등록 방법)

당신의 버튼 :

이 (직선 JS 기능)에 스크립트를 변경

<input type="button" id="StartTask" value="Start" /> 
<input type="button" id="StopTask" value="Stop" /> 

코드와 이에 대한 코드 :

<script src="~/Scripts/jquery-1.3.2.js"  type="text/javascript" /> 
<script src="~/Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript" /> 
<script type="text/javascript"> 
    $.(document).ready(function() { 
     $("#StartTask").click(function() { 
      $.post("/Home/StartTask"); 
     }); 
     $("#StopTask").click(function() { 
      $.post("/Home/StopTask"); 
     }); 
    }); 
</script> 

추신 : 당신이 가고 싶은 사람이 누구인지 말해주세요. 원한다면 내가 설명해 줄 수 있습니다.

UPDATE : StopTask 폭파와 관련하여 MVC 컨트롤러 메서드에이 작업이 있습니까?

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult StopTask() { 

$ .post() 명령을 사용하는 경우 필요합니다.

+0

예, 우리는 AcceptVerbs 데코레이터가 있습니다. 알림 주셔서 감사. 두 가지 다른 방법이있는 이유는 두 가지 방법 모두를 테스트하고 SO가 모두 실패하고 있다는 것을 보여주기 위해서였습니다. 나는 그것이 작동하는 한 어느 쪽의 방법이라도 갈 수있다. – Rap

+0

나머지 문제는 $ .post()가 실패하고있는 것 같습니다. 더 자세하게 얘기해 주 시겠어요? StopTask MVC 메소드의 첫 번째 줄에 중단 점을두면 히트가됩니까 (예 : Route가 해결됩니까?) – Evildonald

+0

아니요, 적중하지 않습니다. 결코 거기에 도착하지 않습니다. – Rap

0

봅니다 onclick="StartTask()"

+0

onclick = "StartTask()"를 제거하면 버튼 클릭시 아무런 반응이 없습니다. 나는 핸들러에 breakpoint와 alert()를 두었다. 절대 안타. – Rap

0

내가 제거 할 제거하는 모두

onclick="StartTask()" 
onclick="StopTask()" 

그들은 같은 일 (핸들 이벤트)를 않습니다.jQuery를 클릭하면 두 개의 이벤트 핸들러가 필요 없으며 이미 StartTask가 선언 된 함수가 없다.

대신 자바 스크립트에서 이벤트 처리를 수행하십시오.

<script src="~/Scripts/jquery-1.3.2.js"  type="text/javascript" /> 
<script src="~/Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript" /> 
<script type="text/javascript"> 
// this does not execute the query until the DOM is ready 
// passes the "jQuery" to it in case you have other $ libraries 
(function($) { 
    // this adds the click event to the StartTask 
    $("#StartTask").click(function() { 
     $.post("/Home/StartTask");  
    }); 

    // this adds the click event to the StopTask 
    $("#StopTask").click(function() { 
     $.post("/Home/StopTask");  
    }); 

})(jQuery); 
</script> 
+0

-1 Dupe suggestion – Evildonald

+0

당신은 단지 나에게 짓궂은 짓을 한 적이 있습니까? 그렇다면, 사람을 배치하고 적어도 인정하십시오. – Evildonald

관련 문제