Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 773
  • Last Modified:

disable button

I have a one RadUpload and one RadButton - called Upload... I want to hide RadButton unless user Selected a file from RadUpload.. how can I do that?
0
1jaws
Asked:
1jaws
  • 16
  • 8
  • 3
  • +1
3 Solutions
 
HainKurtSr. System AnalystCommented:
when file is uploaded set RadButton.visible = false
0
 
1jawsAuthor Commented:
thank you for replying... I am disabling the RadButton unless user clicked RadUpload's Select button and selected a file to upload.. basically, I need to check if there is a file shows on that textbox's of the RadUpload
0
 
HainKurtSr. System AnalystCommented:
here
<input type="file" name=btnFile id=btnFile size="chars" onChange="chk()">
<button id=btnUpload disabled>upload</button>
<script>
function chk(){
  btnUpload.disabled = (btnFile.value =="");
}
</script>

Open in new window

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
1jawsAuthor Commented:
ok but this is not RadUpload, it is regular input type .. file.. cant I do that with RadUpload?
0
 
1jawsAuthor Commented:
used second link.. I get this error
Microsoft JScript runtime error: 'FileInputField.value' is null or not an object

function myOnClientFileSelected(radUpload, eventArgs)
{

        var selectedFileName = eventArgs.FileInputField.value.toLowerCase();  <---gives error when page loads because no file name  selected yet...
        if(selectedFileName != null)
        {
        btnUpload.disabled = "false";
        }
       
}
0
 
jagssiduralaCommented:
Check for null value like below


function myOnClientFileSelected(radUpload, eventArgs)
{
if(eventArgs != null && eventArgs.FileInputField != null)
{
        var selectedFileName = eventArgs.FileInputField.value.toLowerCase();  <---gives error when page loads because no file name  selected yet...
        if(selectedFileName != null)
        {
        btnUpload.disabled = "false";
        }
}

       
}
0
 
1jawsAuthor Commented:
I did and nothing happening.. my button still disabled... something not right.. here my code... I made btnUpload enabled = false at the beginning so made that enabled true...below..

function myOnClientFileSelected(RadUpload, eventArgs) {

    alert("hi");
      if(eventArgs != null && eventArgs.FileInputField != null)
        {
            var selectedFileName = eventArgs.FileInputField.value.toLowerCase();
            if(selectedFileName != null)
            {
            btnUpload.enabled = "true";
            }
        }      
}
0
 
nap0leonCommented:
Instead of
".enabled=false"
use
".disabled=true"

and when condition is satisfied change it to
".disabled=false"
0
 
jagssiduralaCommented:
instead of below code

btnUpload.enabled = "true";

write

$('#btnUpload').attr("disabled", false);

or

$('#btnUpload").removeAttribute("disables");

you need to call jquery latest javascrit file in head section

0
 
nap0leonCommented:
minor typo in jagssidurala's last post:

this:
$('#btnUpload").removeAttribute("disables");

should be:
$('#btnUpload").removeAttribute("disabled");

"disables" instead of "disabled"

The main ideas are:
1- you disable something by adding the "disabled" attribute, not by toggling an "enabled" attribute.
2- it is better to turn off "disabled" by removing it, rather than setting it to "false" (not sure why, but this question shows up periodically)
0
 
1jawsAuthor Commented:
I used this  $('#btnUpload").removeAttribute("disabled");  says Unterminated string constraint
0
 
1jawsAuthor Commented:
would this be easier if we use visible ... true/false....
0
 
1jawsAuthor Commented:
how will I get the latest javascript thing..? no idea...
0
 
nap0leonCommented:
bad combination of single quotes and double quotes.
try this:
$('#btnUpload').removeAttribute('disabled');
0
 
1jawsAuthor Commented:
tried this says object not supported..$('#btnUpload').attr("disabled", false);
0
 
1jawsAuthor Commented:
Microsoft JScript runtime error: Object doesn't support this property or method after your last comment..
0
 
nap0leonCommented:
If you are not using jQuery, the line above would be (I think, I'm not actually testing this as I type):

document.getElementById("btnUpload").removeAttribute("disabled");
0
 
1jawsAuthor Commented:
Microsoft JScript runtime error: 'document.getElementById(...)' is null or not an object
0
 
nap0leonCommented:
Also could try this:
btnUpload.removeAttribute('disabled');

or this:
var thisButton = document.getElementById("btnUpload");
thisButton.removeAttribute('disabled');

(Sorry to be spammy with answers... it depends on what you have declared where and whether those things are in scope or not, etc.)
0
 
nap0leonCommented:
Perhaps the issue is your button is id="RadButton" and not "btnUpload" as the previous answers all suggest.
0
 
1jawsAuthor Commented:
no it is btnUpload and I keep getting null value as of the the button, tried your last ex. I get object null error
<telerik:RadButton ID="btnUpload" runat="server" Text="Upload"
        onclick="btnUpload_Click"  Enabled="false">
0
 
nap0leonCommented:
only reason to get that error is that the Id does not match.
When you view source (or inspect w/ Firebug, etc.), what is the button's Id?
0
 
1jawsAuthor Commented:
<table>
  <tr>
    <td>
         <telerik:RadUpload ID="RadUpload1" runat="server" Width="245px" InitialFileInputsCount="1"
        MaxFileInputsCount="1" AllowedFileExtensions=".jpg, .tif"  OnClientFileSelected="myOnClientFileSelected">
    </telerik:RadUpload>
     
    </td>
    <td valign="top">
       <telerik:RadButton ID="btnUpload" runat="server" Text="Upload"
        onclick="btnUpload_Click"  Enabled="false">
    </telerik:RadButton>
    </td>
  </tr>
</table>

here my full code for this...so it is called btnUpload I have no idea why it is null
0
 
1jawsAuthor Commented:
this is in master page.. maybe that's why?
0
 
1jawsAuthor Commented:
found this answer but dont actually know how to implement that because when I put this function on the master page, it complains because I dont have button like that...
http://stackoverflow.com/questions/5886617/disable-button-on-masterpage-net-4-0-c
0
 
nap0leonCommented:
What does "View Source" show for the element you are trying to enable?

JavaScript runs on the client, not the server.
To debug the JavaScript error, it is best to look at the rendered code - what you see when you "View Source".  Once you see what the error is, you can then either adjust your server side code to make it match what your JS is trying to do or change your JS to match what your server-side code is creating.
0
 
1jawsAuthor Commented:
I am attaching view source.. I have even tried this without master page still getting null value for my btnUpload.... arrgghhh.. drives me crazy.
test.txt
0
 
1jawsAuthor Commented:
figured it out different by just adding <div> and control that way.. Thank you all for trying to help!
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 16
  • 8
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now