2012-06-25 3 views
0

나는 모든 것을 자동으로 아약스 스크립트를 통해 컨트롤러에 보내는 beginform을 가지고 있습니다. 문제는 하나의 버튼을 한 번 클릭 할 때마다 값만 보내야한다는 것입니다. 나는 자동 데이터의 나머지 부분과 구별되는 것 같다.재설정 onclick 그래서 아약스 스크립트에 의해 값이 사용되지 않습니다

목표 : 버튼을 한 번 클릭하면 값 10 (버튼에서)을 눌러 컨트롤러에 게시하지 못하게합니다.

AJAX 기능을 사용하면 제출 버튼의 value 속성을 제거 할 수

@using (Html.BeginForm()) 
    { 
    <input id="data" onkeyup="tocontroller();"> 
    <input type="submit" name="clicked" id="clicked" value="10" onclick="submitonce();" /> 
    } 
+0

무엇이 문제입니까? – Blaster

+0

나는 그것을 얻지 않는다. 뭘 물어 보는 거냐? –

+0

컨트롤러에서 다른 프로세스를 시작하는 버튼이 있습니다. 페이지가 자동으로 채워지기 때문에 버튼을 클릭하면 값 10 (버튼에서)이 사라지지 않습니다. 버튼을 한 번 클릭하면 컨트롤러에 게시하는 것을 중지하는 값 10을 원하게됩니다. – user999690

답변

1

버튼

Function submitonce() { 
//I want to only submit value of button once. 
} 

BEGINFORM

function toconroller() { 
    $.ajax({ 
     type: 'POST', 
     url: this.action, 
     data: $('form').serialize(), 
     success: function (result) { 
      $('#box').html(result.info); 
      } 
     }); 
    } 

버튼 기능 (컨트롤러에 모든 데이터를 제출) 클릭했을 때 :

function submitonce() { 
    $('#clicked').removeAttr('value'); 
} 

또는 jQuery를 onclick 속성을 사용하지만 사용 .click() 핸들러에 가입하지 않고 겸손하게 그것을 :

$(function() { 
    $('#clicked').click(function() { 
     $(this).removeAttr('value'); 
    }); 
}); 

또는 그 대신 당신이 비워을 설정할 수있는 버튼의 value 속성을 제거를 또는 다른 것 :

$('#clicked').val(''); 

그리고 제출 버튼이기 때문에 기본 동작 e 폼을 클릭 핸들러에서 false로 반환합니다 (두 번째 눈에 거슬리는 jQuery 예제).

관련 문제