HOWTO?
show submit button only if one or two needed inputs are filled with a value but if you remove on of the needed values, the submit has to disappear.
should be done with keyup i think. any idea?
HOWTO?
show submit button only if one or two needed inputs are filled with a value but if you remove on of the needed values, the submit has to disappear.
should be done with keyup i think. any idea?
Without reference in basic javascript:
<input type="text" id="input-1" onkeyup="submitChange();" />
<input type="text" id="input-2" onkeyup="submitChange();" />
<input type="submit" id="submit" style="display: none;" />
<script type="text/javascript">
inputOne = document.getElementById("input-1"); 
inputTwo = document.getElementById("input-2"); 
inputSubmit = document.getElementById("submit"); 
function submitChange()
{
     if(inputOne.value == "" || inputTwo.value == "")
     {
          inputSubmit.style.display = "none";
     }
     else
     {
          inputSubmit.style.display = "block";
     }
}
</script>
$('#inputid').keyup(function() {
    if ($(this).val().length > 0) {
       $('#submitbutton').show();
    } else {
       $('#submitbutton').hide();
    }
});
for multiple:
$('#inputid1,#inputid2, etc...').keyup(function() {
   var hidden = false;
   $('#inputid1,#inputid2, etc...').each(function() {
      if ($(this).val().length == 0) {
          hidden = true;
      }
   })
   if (hidden) {
      $('#submitbutton').hide();
   } else {
      $('#submitbutton').show();
   }
});
The function below should help you out:
$(function(){
    // Hide submit button if either field is empty
    $('form input').keyup(function(){
        if($('#input1').val() == "" || $('input2').val() == ""){
            $('#submit').hide();
        }
        else {
            $('#submit').show();
        }
    });
    // Don't submit form if either field is empty
    $('form').submit(function(){
    if($('#1').val() == "" || $('#2').val() == ""){
        return false;
    }
    });
});
By the way, you'll need to use CSS (display:none) to hide your submit button initially.
I propose to use one event handler at the form itself and to check all required fields. To keep it a little bit more abstractive, it would be nice if you can tag your inputs with some attribute. The example solution follows:
    $('#formNode').keyup(function(e){
            var invalid = false;
            $(this).children().each(function(i,child){ 
             if(($(child).attr("isReq") == "true") 
              && child.value.length == 0
             ){
              invalid = true;
             } 
            });
            $("#submitButton")[invalid ? "hide" : "show"]();
});   
    <form id="formNode">
            <input type="text" isReq="true"/>
        <input type="text" isReq="true"/>
        <input type="text" isReq="true"/>
        <input type="submit" value="Submit" style="display:none" id="submitButton"/>
    </form>
As you can see, every time you want to check node, you just should mark it with attribute isReq and the script will do its work for you.