Rongas
asked on
make asp:Textobx visible using javascript, based on user selection on a sharepoint:formfield
I have on a custom form created with sharepoint designer, the following lines where a sharepoint:formfield and a asp:textobox exist.
The sharepoint:formfield is a list form field, where the last data is Other.
I need to use javescript, which will set the asp:Textbox to visible when sharepoint:formfield is selected as Other. The problem is that i do not have much idea on javascript, i tried to cope with this, but when trying to get the reference of sharepoint: textbox or asp:textfield, i am returned with null.
Can someone create for me this small javascript (onfocusout="javascript:hi deFields() ") that will cope with this issue? By the way, if Sharepoint:formfield is dificult to cope with, we can use a asp:checkbox to cope with this. I think this will be easy for javascript experts.
The sharepoint:formfield is a list form field, where the last data is Other.
I need to use javescript, which will set the asp:Textbox to visible when sharepoint:formfield is selected as Other. The problem is that i do not have much idea on javascript, i tried to cope with this, but when trying to get the reference of sharepoint: textbox or asp:textfield, i am returned with null.
Can someone create for me this small javascript (onfocusout="javascript:hi
<table>
<tr>
<td width="190px" valign="top" class="style2">
<H3 class="ms-standardheader">
<nobr> Name </nobr>
</H3>
</td>
<td> <div class="select-container" onfocusout="javascript:hideFields()">
<SharePoint:FormField runat="server" id="ff14{$Pos}" ControlMode="Edit" FieldName="Organization" __designer:bind="{ddwrt:DataBind('u',concat('ff14',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Organization')}" DisplaySize="10" /><SharePoint:FieldDescription runat="server" id="ff14description{$Pos}" FieldName="Organization" ControlMode="Edit" /> </div>
<asp:TextBox runat="server" id="OrganizationsID{1}" text="{@Other_x0020_Organizations}" __designer:bind="{ddwrt:DataBind('u',concat('OrganizationsID',1),'Text','TextChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Other_x0020_Organizations')}" />
</td>
</tr>
ASKER
Thank you Devoney, at least i know i am in the right direction. This is also what i have also tried, but it does not work. :-(
When java script runs, On internet exprorer, i see an error message telling me "Object required".
Please notice that in the code provided I changed var Object = document.getElementById('D ivToHide') ; to object, since this is what was used in object.style.visibility = "hidden";, but i think this is ok.
I think, for some reason, document.getElementById('D ivToHide') ; returns null.
I found some posts, one of which is the one below: http://www.binarywave.com/ blogs/eshu pps/Lists/ Posts/Post .aspx?ID=2 3
When i tried to put the
document.getElementById('< %='DivToHi de'.Client ID%>'); i get when the page loads, the error message "blocks are not allowed in this file."
What can i do? :-(
When java script runs, On internet exprorer, i see an error message telling me "Object required".
Please notice that in the code provided I changed var Object = document.getElementById('D
I think, for some reason, document.getElementById('D
I found some posts, one of which is the one below: http://www.binarywave.com/
When i tried to put the
document.getElementById('<
What can i do? :-(
This is essentially what you're looking for: https://www.experts-exchange.com/questions/24410154/Create-a-form-in-SharePoint-Designer-that-changes-based-off-user-selection.html
If you post a code snippet of your generated source so I can see how SharePoint is handling your specific field, I can help customize it for you.
If you post a code snippet of your generated source so I can see how SharePoint is handling your specific field, I can help customize it for you.
ASKER
I will have a look on the page you provided and try to understand it. Also please find attached a small code snippet and the complete aspx page generated from Sharepoint designer.
I have split my work on two steps
1st step, hide/ unhide textbox named OtherTitle{$Pos} based on the click of user at ff72{$Pos} checkbox.
2nd step:
Check the data in OtherTitle{$Pos} and ff66{$Pos} to check if user has selected any value for the Title, and throw an error message if user has not selected any value on any of these two (making somehow the Title mandatory to have a value from eather a list form field or simple text).
Currently i am on the first step, but hopefully, the second step will be simple code..
Thank you GreatGerm
full-page.txt
code-snipet-small.txt
I have split my work on two steps
1st step, hide/ unhide textbox named OtherTitle{$Pos} based on the click of user at ff72{$Pos} checkbox.
2nd step:
Check the data in OtherTitle{$Pos} and ff66{$Pos} to check if user has selected any value for the Title, and throw an error message if user has not selected any value on any of these two (making somehow the Title mandatory to have a value from eather a list form field or simple text).
Currently i am on the first step, but hopefully, the second step will be simple code..
Thank you GreatGerm
full-page.txt
code-snipet-small.txt
When I insert this into my browser I have an object returned.
javascript:alert(document. getElement ById('DivT oHide'));
Edit the function als followed:
<script type="text/javascript">
function hideFields()
{
document.getElementById('D ivToHide') .style.vis ibility = "hidden";
}
</script>
So you do not save the object in a var but use it directly. Then when I insert the following line into my browser
javascript:hideFields();
The div is hidden.
javascript:alert(document.
Edit the function als followed:
<script type="text/javascript">
function hideFields()
{
document.getElementById('D
}
</script>
So you do not save the object in a var but use it directly. Then when I insert the following line into my browser
javascript:hideFields();
The div is hidden.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
GreatGerm, you made something on your mobile, while i was trying to do it for 3 days now! You are incredible!
You had one small mistake,
<?xml:namespace prefix = asp />must be
<.input name="Checkbox1" type="checkbox" onclick="toggleBox(this,'{ $Pos}')" />
But you are great!
You had one small mistake,
<?xml:namespace prefix = asp />must be
<.input name="Checkbox1" type="checkbox" onclick="toggleBox(this,'{
But you are great!
Oh well, that's what I get for getting used to an editor with markup. Glad it worked for you. For future questions of the like definitely make sure you ask them in the MS SharePoint category since SharePoint has some quirks compared to the standard ASP/Javascript world.
You can use the following
var Object = document.getElementById('I
Object.style.visibility = "hidden";
I would place all the fields in one div, give that div a name, and hide the div instead of every object.
See the code below, hopefully this helps.
Open in new window