2017-09-07 4 views
0

입력 필드 (id = "valagency")가 비어있을 때마다 버튼 링크 (id = "btnsubmit")를 숨기려고합니다. 입력 필드 뒤의 버튼에는 일부 데이터가 채워집니다. html로 부분에 대한 JavaScript : 입력 필드가 비어 있으면 버튼 링크를 숨기기

, 나는

<tr> 
<td class="tbldatastart"> 
    <input type="text" id="**valagency**" name="agencyname<%= strAgencyId %>" class="btn10" readonly> 
    <input type="text" name="agencyid<%= strAgencyId% >"> 
    <a href="javascript:Map('<%= strAgencyId %>');" class="btn1">Map</a> 
</td> 
</tr> 

<tr> 
<td colspan="2"></td> 
<td><a href="javascript:Submit()" id="btnsubmit" class="btn1">Submit</a></td> 
</tr> 

을 그리고 자바 스크립트, 나는

function Submit() { 

    $("#valagency").keyup(function(){ 
    if($(this).val()) { 
     $("#btnsubmit").show(); 
    } else { 
     $("#btnsubmit").hide(); 
    } 

    }); 
} 

버튼이 아직 제출해야합니다. 내가 잘못한 곳을 나는 모른다. 도와주세요.

미리 감사드립니다.

+0

키 업은 Submit() 기능 –

답변

3

활성화 비활성화 버튼 코드가 ​​실행될 때 함수 제출을 호출하고 있습니다.

제출 통화가 아닌 해당 코드를 독립적으로 사용해야합니다. 당신이 버튼을 사용하여 keyup 이벤트를 사용했습니다 때 가능 방법 클릭 제출에 제출하지 않으려면

$("#valagency").keyup(function(){ 
    if($(this).val() == "") { 
     $("#btnsubmit").show(); 
    } else { 
     $("#btnsubmit").hide(); 
    } 
}); 

:

장소 다음 코드는 아웃 기능을 제출합니다.

제출 버튼을 클릭하고 제출하려는 경우에는 keyup을 사용해야합니다.

keyup을 사용하려는 경우 코드는 submit 함수 외부에 있습니다.

키 입력으로 데이터를 붙여 넣을 수 없습니다. 해당 고려 사항 this 예.

<input type="text" name ="mytxt" id="mytxt"> 
<a href="#" id="btnsubmit" class="btn1">Submit</a> 


$('input[name=mytxt]').change(function() { 
if($(this).val() == "") {   
     $("#btnsubmit").hide(); 
    } else { 
     $("#btnsubmit").show(); 
    } 
}); 

당신이 다음 https://jsfiddle.net/kurbhatt/m06yywmn/2/

+0

외부에 있어야합니다. 문제가 있으면 저에게 연락하십시오. –

+0

'keyup '대신'input' 또는'change'를 사용해보십시오.그것은 붙여 넣기 코드, 드래그 앤 드롭 및 주요 작업을 올바르게보고하지 않는 Android 키보드 등을 지원합니다. –

+0

@SamR : 제안 해 주셔서 감사합니다. 예, 맞습니다. 키 업은 데이터의 사본 붙여 넣기에서 작동하지 않습니다. 그'change' 방법은 잘 작동합니다. –

0

문제와 함께 갈 수있는 페이지로드 버튼을 숨기려면 당신이 제출 버튼의 클릭에 keyup() 기능을 실행하는 것입니다. 이것은 결코 실행되지 않을 것입니다. keyup() 기능을이 단추 외부로 이동하기 만하면됩니다. 기본적으로 #btnsubmit을 숨기려고합니다. 이 도움이

$("#btnsubmit").hide(); 
 
$("#valagency").keyup(function() { 
 
    if ($(this).val()) { 
 
    $("#btnsubmit").show(); 
 
    } else { 
 
    $("#btnsubmit").hide(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text" id="valagency"> 
 
<a href="#" id="btnsubmit" class="btn1">Submit</a>

희망 :

여기에 최소한의 예입니다! :)

0

대신에 change 이벤트를 사용하여 입력 필드의 최종 값을 가져온 다음 비어 있는지 확인하십시오.

0

입력 된 키 업 이벤트와 관련이 있으므로 입력 값을 확인하여 버튼을 숨기거나 표시하고 싶습니다. 그것을 '제출'과 독립적으로 만들려면 '제출'전에 숨기기/표시해야합니다.

function submit() { 
    //do something 
} 
$("#valagency").keyup(function(){ 
    if($(this).val() == "") { 
     $("#btnsubmit").show(); 
    } else { 
     $("#btnsubmit").hide(); 
    } 
}); 
관련 문제