[jboss-user] [JBoss Seam] - Javascript/Seam and Facelets has me baffled!
tony.herstell@gmail.com
do-not-reply at jboss.com
Sat Apr 14 04:27:15 EDT 2007
A couple of questions on the code below:
1. Why are my varibales being renamed _id9:? can I guarentee that they will always be prefixied by this and if not how do I reference them?
2. How on earth do I reference the advertType; as document.getElementById("_id9:advertType"); brigs back something strange... that I cannot pass into the javascript function.
On page load I want to fire the script to disable the relevant section.
I think I have to disable it as "display=none" seems to not stop it being validated!
I must be misunderstanding something fundemental about seam, facelets and javascript as they seem at odds... this is weired!
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| <html xmlns="http://www.w3.org/1999/xhtml"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:c="http://java.sun.com/jstl/core"
| xmlns:s="http://jboss.com/products/seam/taglib">
|
| <script language="JavaScript" src="../../javascript/setstyle/setstyle.js"/>
|
| <script language="JavaScript">
| function checkAdvertType(radioButtons) {
|
| var buttonClicked = radioButtons.value;
| if (buttonClicked.toString() == "Lineage") {
| document.getElementById("_id9:goToUpload").disabled = true;
| document.getElementById("_id9:textArea").disabled = false;
| } else if (buttonClicked.toString() == "BannerAd") {
| document.getElementById("_id9:goToUpload").disabled = false;
| document.getElementById("_id9:textArea").disabled = true;
| } else {
| alert("Internal Error - Unsupported Ad Type");
| }
| }
| </script>
|
| <table>
|
| <!-- Advert Type -->
| <tr>
| <td align="right">
| <h:outputLabel for="advertType" value="#{messages.label_ad_type}" />
| <h:outputText value="#{messages.label_field_marker}" />
| </td>
| <td align="left">
| <table>
| <tr>
| <td>
| <s:decorate>
| <h:selectOneRadio id="advertType" required="true" value="#{advertisingCampaignController.campaign.advert.type}" onclick="checkAdvertType(this)">
| <s:selectItems id="choices" value="#{advertisingCampaignController.campaign.advert.advertTypes}" var="advertType" label="#{messages[advertType.label]}"/>
| <s:convertEnum />
| </h:selectOneRadio>
| </s:decorate>
| </td>
| </tr>
| </table>
| </td>
| </tr>
|
|
| <!-- Text Lines -->
| <tr id="textLines">
| <td align="right">
| <h:outputLabel for="advertType" value="#{messages.label_text_lines}" />
| <h:outputText value="#{messages.label_field_marker}" />
| </td>
| <td align="left">
| <table>
| <tr>
| <td>
| <s:decorate>
| <h:inputTextarea id="textArea" required="true" rows="4" cols="20" value="#{advertisingCampaignController.campaign.advert.textLines}">
| <s:validate/>
| </h:inputTextarea>
| </s:decorate>
| </td>
| </tr>
| </table>
| </td>
| <td>
| <h:outputText value="#{messages.tag_mandatory}"
| styleClass="mandatory" />
| </td>
| </tr>
| <tr>
| <td>
| <h:outputText value="" />
| </td>
| <td>
| <h:message styleClass="error" for="textArea" />
| </td>
| <td>
| <h:outputText value="" />
| </td>
| </tr>
|
| <!-- Upload Image Component -->
| <tr id="upload">
| <td align="right">
| <h:outputLabel for="goToUpload" value="#{messages.label_upload}" />
| <h:outputText value="#{messages.label_field_marker}" />
| </td>
| <td align="left">
| <h:commandButton id="goToUpload"
| action="#{advertisingCampaignController.goToUploadBanner}"
| value="#{messages.button_add_banner}"/>
| </td>
| <td>
| <h:outputText value="#{messages.tag_mandatory}"
| styleClass="mandatory" />
| </td>
| </tr>
| <tr>
| <td>
| <h:outputText value="" />
| </td>
| <td>
| <h:message styleClass="error" for="goToUpload" />
| </td>
| <td>
| <h:outputText value="" />
| </td>
| </tr>
|
| <tr>
| <td colspan="3" align="center">
| <s:graphicImage value="#{advertisingCampaignController.campaign.advert.image.imageBytes}" rendered="#{(advertisingCampaignController.campaign.advert.image.name != null) and (advertisingCampaignController.campaign.advert.image.name != '')}"/>
| </td>
| </tr>
| <tr>
| <td colspan="3" align="center">
| <h:outputText value="#{advertisingCampaignController.campaign.advert.image.name}" rendered="#{(advertisingCampaignController.campaign.advert.image.name != null) and (advertisingCampaignController.campaign.advert.image.name != '')}"/>
| </td>
| </tr>
|
|
| </table>
|
| </html>
|
| <script language="JavaScript">
| var radioButtons = document.getElementById("_id9:advertType");
| checkAdvertType(radioButtons);
| </script>
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4037286#4037286
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4037286
More information about the jboss-user
mailing list