Solved

disable button

Posted on 2011-09-28
29
752 Views
Last Modified: 2012-05-12
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
Comment
Question by:1jaws
  • 16
  • 8
  • 3
  • +1
29 Comments
 
LVL 51

Expert Comment

by:HainKurt
ID: 36718663
when file is uploaded set RadButton.visible = false
0
 

Author Comment

by:1jaws
ID: 36718680
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
 
LVL 51

Accepted Solution

by:
HainKurt earned 167 total points
ID: 36718758
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
 

Author Comment

by:1jaws
ID: 36718799
ok but this is not RadUpload, it is regular input type .. file.. cant I do that with RadUpload?
0
 
LVL 12

Assisted Solution

by:jagssidurala
jagssidurala earned 167 total points
ID: 36718817
0
 

Author Comment

by:1jaws
ID: 36718947
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
 
LVL 12

Expert Comment

by:jagssidurala
ID: 36718998
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
 

Author Comment

by:1jaws
ID: 36719094
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
 
LVL 18

Expert Comment

by:nap0leon
ID: 36719176
Instead of
".enabled=false"
use
".disabled=true"

and when condition is satisfied change it to
".disabled=false"
0
 
LVL 12

Expert Comment

by:jagssidurala
ID: 36719186
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
 
LVL 18

Assisted Solution

by:nap0leon
nap0leon earned 166 total points
ID: 36719209
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
 

Author Comment

by:1jaws
ID: 36719237
I used this  $('#btnUpload").removeAttribute("disabled");  says Unterminated string constraint
0
 

Author Comment

by:1jaws
ID: 36719253
would this be easier if we use visible ... true/false....
0
 

Author Comment

by:1jaws
ID: 36719272
how will I get the latest javascript thing..? no idea...
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 18

Expert Comment

by:nap0leon
ID: 36719308
bad combination of single quotes and double quotes.
try this:
$('#btnUpload').removeAttribute('disabled');
0
 

Author Comment

by:1jaws
ID: 36719312
tried this says object not supported..$('#btnUpload').attr("disabled", false);
0
 

Author Comment

by:1jaws
ID: 36719323
Microsoft JScript runtime error: Object doesn't support this property or method after your last comment..
0
 
LVL 18

Expert Comment

by:nap0leon
ID: 36719329
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
 

Author Comment

by:1jaws
ID: 36719341
Microsoft JScript runtime error: 'document.getElementById(...)' is null or not an object
0
 
LVL 18

Expert Comment

by:nap0leon
ID: 36719351
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
 
LVL 18

Expert Comment

by:nap0leon
ID: 36719361
Perhaps the issue is your button is id="RadButton" and not "btnUpload" as the previous answers all suggest.
0
 

Author Comment

by:1jaws
ID: 36719396
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
 
LVL 18

Expert Comment

by:nap0leon
ID: 36719430
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
 

Author Comment

by:1jaws
ID: 36719450
<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
 

Author Comment

by:1jaws
ID: 36719488
this is in master page.. maybe that's why?
0
 

Author Comment

by:1jaws
ID: 36719722
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
 
LVL 18

Expert Comment

by:nap0leon
ID: 36719948
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
 

Author Comment

by:1jaws
ID: 36720038
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
 

Author Closing Comment

by:1jaws
ID: 36731296
figured it out different by just adding <div> and control that way.. Thank you all for trying to help!
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now