For example I use this markup:

<script wicket:id="focusScript"></script>

and associate it with simple class:

public class FocusScript extends Label {

  public FocusScript(String id, String focusFieldMarkupId, boolean selectAll) {
    super(id, getFocusScript(focusFieldMarkupId, selectAll));
    setEscapeModelStrings(false);
  }

  @Override
  protected void onComponentTag(ComponentTag tag) {
    tag.put("language", "javascript");
    tag.put("type", "text/javascript");
    super.onComponentTag(tag);
  }

  @Override
  protected void onComponentTagBody(MarkupStream markupStream,
ComponentTag openTag) {
    super.onComponentTagBody(markupStream, openTag);
    checkComponentTag(openTag, "script");
  }

  public static String getFocusScript(String focusFieldMarkupId,
boolean selectAll) {
    return "document.getElementById('" + focusFieldMarkupId + "').focus();" +
            (selectAll?("document.getElementById('" +
focusFieldMarkupId + "').select()"):"");
  }


}


On Sat, Oct 10, 2009 at 11:11 PM, Igor Vaynberg <igor.vaynb...@gmail.com> wrote:
> can you not just use a label whose model is the "<script>...</script>" string?
>
> -igor
>
> On Sat, Oct 10, 2009 at 5:34 AM, Paul Huang <paulhuan...@gmail.com> wrote:
>> Suppose I write my own wicket component called XYZ that have the following
>> markup
>>
>> <wicket:panel>
>> <div wicket:id="id_xxx">
>> ....
>> </div>
>> </wicket:panel>
>>
>> How can I inject some js code into this markup so when it's rendered in a
>> page, I got something like
>>
>> <wicket:panel>
>> <div wicket:id="id_xxx">
>>  <script type="text/javascript">
>>     var data=["abc", "efg"];
>>     document.write(data[0]);
>> </script>
>> .....
>> <div>
>> <wicket:panel>
>>
>> You may ask why I dont simply keep the js code into the component markup
>> "XYZ.html", this is because the value of "data" variable will be provided by
>> the user and is not fixed.
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to