OnSubmit doesn't work. Is it a bug?

Hello,
I try to validate a form before it will be submitted. I want to do it on the form event onSubmit (<form ... onSubmit="alert('submit form');">).
This does not work. The HTML created can't work. I just tried to easily make an alert befor submit, but even this doesn't work.
Regards Christian

Christian -
How are you submitting the form? Are you using a UIX <submitButton> - or are you submitting the form via JavaScript code? If you are doing the latter, you need to use the UIX submitForm() function instead of calling form.submit() directly. See the "Manual form submission" section in the "Handling Errors" chapter of the UIX Developer's Guide for more details on this JavaScript function.
Andy

Similar Messages

  • Command Link doesn't work - may be a bug

    Hi all,
    I'm using JDev 11g. I added two pages to the adfc-config.xml file and a controlFlowCase from one to another. Page1--> Page2 The action name is "aaa".
    And then i added a command link to the Page1 and selected the action name "aaa". Now i'm click the command link, but it doesn't work. I'm shocked. What is the problem? It's so basic thing.
    Erdo

    I'm running just like you said. Here is the error log :
    oracle.jbo.JboException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-29000. Error message parameters are {0=java.lang.NullPointerException, 1=null}
         at oracle.adf.model.binding.DCIteratorBinding.reportException(DCIteratorBinding.java:376)
         at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1693)
         at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1645)
         at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4395)
         at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:341)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isAttributeUpdateable(JUCtrlValueBinding.java:1647)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isAttributeUpdateable(JUCtrlValueBinding.java:1754)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isUpdateable(JUCtrlValueBinding.java:2610)
         at oracle.adfinternal.view.faces.model.AdfELResolver._isReadOnly(AdfELResolver.java:96)
         at oracle.adfinternal.view.faces.model.AdfELResolver.isReadOnly(AdfELResolver.java:112)
         at javax.el.CompositeELResolver.isReadOnly(CompositeELResolver.java:353)
         at com.sun.faces.el.DemuxCompositeELResolver._isReadOnly(DemuxCompositeELResolver.java:290)
         at com.sun.faces.el.DemuxCompositeELResolver.isReadOnly(DemuxCompositeELResolver.java:319)
         at com.sun.el.parser.AstValue.isReadOnly(Unknown Source)
         at com.sun.el.ValueExpressionImpl.isReadOnly(Unknown Source)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer._getUncachedReadOnly(EditableValueRenderer.java:486)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.cacheReadOnly(EditableValueRenderer.java:416)
         at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.beforeEncode(LabeledInputRenderer.java:128)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:340)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:405)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1015)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:46)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1491)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1410)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:170)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:290)
         at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:255)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:352)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:187)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
    ...

  • Chunked Transfer Encoding - Doesn't work due to implementation bug?

    Hello All,
    I'm tackling the infamous "transfer-encoding: chunked" issue on trying to send POST data from the J2ME emulators and devices greater than 2048 bytes (or whatever the internal buffer size of a specific device might be). The nginx server on the other end always sends back a *411 - No content length specified* because it doesn't seem to recognize chunked transfer encoding. (despite the fact nginx is HTTP 1.1 compliant meaning it should be able to recognize it without rejection)
    One thing I've noticed is that compared to a correctly chunked HTTP body which looks something like this:
    *2*
    ab
    *4*
    abcd
    A
    *0123456789*
    *3*
    foo
    *0*
    the HTTP bodies coming out of the MIDlet though Network Monitor in the emulator just look like this:
    ababcd0123456789foo
    It seems the chunked HTTP body does not have the chunk size indices that should be there for proper formatting.
    I did my debugging on the Sun Java Network Monitor and maybe that tool "hides" the actual chunking indices
    or the chunking takes place at a point beyond the emulator's snapshot of the data. Does anyone know if the Sun Java Network Monitor indeed shows the entire body of an HTTP POST in it's true state? The size of one packet I'm looking at is 2016 which is 32 bytes off 2048 - the supposed limit where data starts getting chunked. Could this "missing" 32 bytes from the log be the chunking indexes I am looking for? If the Network Monitor indeed shows the packet body in it's entirety then it seems like people are having issues sending chunked transfers because the format is wrong.
    Anyway assuming J2ME's chunked transfer encoding is working correctly then how come nginx and many other supposedly HTTP 1.1 servers cannot understand the incoming format? Is Java's implementation of chunked transfer encoding somehow deviant from the set standard? I read a post at the following address
    http://forum.java.sun.com/thread.jspa?forumID=76&threadID=454773
    in which a user could not get chunked posts recognized by Apache until he changed the format of his HTTP body (read the last post on that thread for details on this).
    In case no one can assist on the above how would I go about trying to intercept the HTTP data stream right after it leaves the emulator or a real device. Is this something that can only be done server side? If so how can I guarantee that the data I am receiving on the server side was not modified by another entity along the way?
    Any help on this would be much appreciated. Thanks.
    -Bob

    We're still tackling the same issue but we've made a few discoveries:
    * Nginx does not support chunked transfer encoding despite it's HTTP 1.1 status.
    * The chunked transfer encoding format coming out of J2ME is correct. During some server side logging sessions we found that J2ME puts in the chunking indices and the finalizing 0 and carriage return to signify the end of the stream.
    * The missing 32 bytes not shown in the Sun Java Network Monitor are the chunking indices - they are just hidden from you at that level of display. Since the J2ME emulator sends it's packets in 2048 bytes chunks when viewing the monitor you will just see the contents itself (2016 byte chunks). The other 32 bytes are the headers i.e.
    7e0[carriage return]
    which is a 32 bytes sequence (4 8 byte characters) with the last character being the carriage return. 7e0 in decimal is 2016 - the size of the displayed packet in the network monitor.
    Anyone have any suggestions for a reliable server end receiver for chunked transfer encoding content? (preferably one which works well with Ruby on Rails)

  • Lists doesn't work with synchronized text - bug or limitation?

    Whenever I put a text to a collection to synchronize it, the list feature is no longer available for this text. Is it a bug or a limitation? It may be a tricky task to bring this two features together, but it is a substantial one.

    Currently limited to the same formatting for the entire text frame and no internal structure (no lists or inline graphics). Request noted.

  • Captivate 8 vs yosemite. Audio speech doesn't work neither on Captivate 7 nor Captivate 8. Is there any bug to fix this problem?

    I'm having problems when using Captivate 7 and 8 - specially audio speech management.
    As I use OSX Yosemite, I don't know why but it doesn't work properly.
    Any bug or way to fix this problem?
    Thanks in advance.

    Captivate for yosemite is all around really buggy. I also cant get text to speech to work, but I am experiencing issues with what I call "windowing". When I attempted to maximize captivate 8 to my cinema display, menus and modal windows spawned by captivate often appear behind other windows. In addition, Captivate can't seem to figure out how to maximize to the available screen real estate.
    These two things happen to be the most annoying bugs, but I have experienced many more:
    1.Timeline is really wonky. I can't select multiple timeline items and move them without the timeline completely falling apart.
    2. Selecting objects that are overlapping on the stage is terrrible
    3. Altering the duration that an item should appear in the timeline often creates an extremely annoying bug where other timeline items will jump to an arbitrary spot. This creates a ton of re-work.
    Adobe - Cap 8 is not ready for use in OSX Yosemite- please fix it!

  • Hover Scrub doesn't work in bin

    Hello,
    When I hover scrub over my dailies it works fine. However, once I've synced my dailies and sorted my new merged clips into scene bins, they will no longer hover scrub (in the new bins, the raw dailies still do.) Any idea why, and how I might get it to work.
    Barring that, how can I change my poster frame in the bin, right now i can't get them to do anything outside of the original raw dailies bin.
    Chris Conlee

    I have the same experience, once you create a merged clip, hover scrub doesn't work.  Maybe a bug? Maybe a limitation of merged clips?  I've submitted a bug report..... maybe i'll submit a feature request as well.
    MacPro 4.1
    OSX 10.7.4
    Pr 6.0.1
    CUDA 4.2.10

  • List Of Values Switcher doesn't work fine here

    Hello,
    I tried a new List Of Values Switcher feature, in jdev11g R, and i tried andrejusb's example( http://andrejusb.blogspot.com/2008/10/multiple-lovs-per-attribute-in.html ), but it doesn't work
    Is that a bug??
    Thanks

    I did find this in an email I sent out after I got this working:
    "An important item to note is that when selecting a Default LOV, it appears as if the radio button does not determine which LOV is default. It is always the first item in the list (took me a bit to figure that little gem out)."

  • [svn:osmf:] 15000: Fix for FM-447 : Adding CuePoint in TemporalFacet event listeners doesn't work

    Revision: 15000
    Revision: 15000
    Author:   [email protected]
    Date:     2010-03-24 14:01:02 -0700 (Wed, 24 Mar 2010)
    Log Message:
    Fix for FM-447 : Adding CuePoint in TemporalFacet event listeners doesn't work
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-447
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/metadata/TimelineMetadata.as

  • [svn:osmf:] 14975: Fix for FM-447 : Adding CuePoint in TemporalFacet event listeners doesn't work

    Revision: 14975
    Revision: 14975
    Author:   [email protected]
    Date:     2010-03-23 17:04:43 -0700 (Tue, 23 Mar 2010)
    Log Message:
    Fix for FM-447 : Adding CuePoint in TemporalFacet event listeners doesn't work
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-447
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/metadata/TimelineMetadata.as

  • Another BUG in Acrobat 9.4.5 -- Find doesn't work

    I made the mistake of updating to the latest version Acrobat 9.4.5, and discovered that the Find feature doesn't work right.  For example, I enter a word to search in the "Find" box, and click return.  In past versions, the PDF would jump to the first instance of the term or phrase and highlight the word.  Now, the PDF jumps to the page, but doesn't highlight the word!  So... I'm stuck reading through text to find the word, which is a lot of extra work and time that I don't have. This is a critical problem because I search documents for terms all of the time in my job.  
    I've found one workaround that isn't very satisfactory, but it is better than nothing.  Instead of using "Find Next in PDF", I use "Open Full Acrobat Search" which is a command off the Find pull-down menu.  This command opens up a separate window, which is annoying because it disappears behind the document if you need to page through the PDF file. However, if I do the search, it shows all of the instances in a pane in the context of the sentence where it appears.  Then, if I click on the instance of the word in this pane twice (Yes, TWICE), it will highlight the word in the PDF. You cannot use the Find Next button as you could in previous versions, because this function will not highlight the word.  Anyway, given there are other bugs in this release that I've read about in this forum, I'll most likely just go back to the previous version and completely disable the automatic update feature in Acrobat.  I wish going back was a quick process, but I don't think it is.
    I'm also going to tell everyone in my circle of friends to avoid automatically updating Adobe Acrobat in the future. Adobe obviously doesn't test the software well. Wish I could charge Adobe for the time and frustration they've caused me!

    Brianwrx,
         The Acrobat 9.4.5 update bugs where the first "hit" on each page is not highlighted when doing a Find/Search and no longer being able to use Shift & Ctrl on the Pages pane thumbnails to multi-select and move/delete pages are well reported by many to have been introduced coincident with the Acrobat 9.4.5 release and not a MS Windows update.  I'm not sure what is going on with your 9.0.0 Pro Extended.
         For seasoned Adobe to break such commonly used features in Acrobat 9, never have regression tested these basic functions given the 3 month (or longer) release cycle, and not have broke it in Acrobat X doesn't reflect well on their development/test process.  Then, there are web forum recommendations prodding to upgrade to Acrobat X -- which completely changed the User Interface and will result in significant loss of productivity while bridging the learning curve and dealing with new functional/compatibility problems.  Furthermore, it is something how OCR Suspects are never found/flagged in Acrobat 9, and then were finally fixed in Acrobat X (forcing the need for a paid upgrade to get a bug fix and have to relearn the interface to boot).   
         Adobe's poor quality 9.4.5 release update does me more harm than good when considering other settings to improve Acrobat security (turning off Java-Script, not automatically trusting sites from the Win OS security zones, and not allowing the opening of non-PDF file attachments with external applications under the Edit menu - Preferences).  Adobe has made no official commitment to fix its bugs or provide a release date in the 10+ weeks since the awful 9.4.5 code was thrown over the fence to unsuspecting auto-update customers without any practical/simple way to back it off to 9.4.4 -- even though in all probability it will take the programmer one day each to fix the bugs with some additional time to test/release).  It is interesting that there have been no critical Acrobat security issues (as evidenced by no Out-Of-Cycle releases since 9.4.5), which should mean their programmers have more time to fix these bugs and restore stable functionality in 9.4.6.  As for "not being able to use Shift & Ctrl directly on the Pages pane thumbnails to move pages" (another 9.4.5 bug), the circumvention to drag a window around a group of pages, hold down Shift, and drag a window around a second group of pages should be further clarified with the following: Once your blue highlighted contiguous/non-contiguous pages selection is made, be sure to drag a thumbnail graphic directly to move the selection and don't try to drag the blue shaded perimeter area (which results in clearing the blue highlighting).  This does provide a decent circumvention for that bug -- as compared to the cumbersome "Full Acrobat Search - Advanced Search Options - double-clicking each Result line" circumvention for the Find/Search first "hit" non-highlighting bug.  I implore Adobe to listen to your customers and please take a "do no harm" conservative approach to updates/enhancements in the future.

  • BUG: EA 2.1 code editor: completion insight doesn't work in opened files

    I just migrated from SQLDEV 1.5.5 to EA 2.1. It's nice that I colud find so many of my suggestions implemented in this new version. THANKX :-)
    code editor:
    When I'm working in SQL Worksheet the "completion insight" feature is working well, but when I try to use it in an opened file, it doesn't work.
    Is there a special preference to turn on for use with files?
    Edited by: @chris on 12.11.2009 10:57

    Correct it did work in 1.5. on .sql files, when connected, so I have updated the ER to bug. We also need to expand this to support PL/SQL files.
    Sue

  • [svn] 4028: Bug: Draining of buffered messages doesn' t work correctly with long-polling.

    Revision: 4028
    Author: [email protected]
    Date: 2008-11-06 09:04:26 -0800 (Thu, 06 Nov 2008)
    Log Message:
    Bug: Draining of buffered messages doesn't work correctly with long-polling.
    QA: Yes - please make sure both nio and regular long-polling channels work with throttling.
    Doc: No
    Checkintests: Pass.
    Details: Made sure that buffered messages are drained properly with all polling channels (polling, long-polling, and nio-long-polling).
    Modified Paths:
    blazeds/trunk/modules/core/src/flex/messaging/client/FlexClient.java

    Sounds like you've probably already looked but the CUPS article in the wiki led me through setting up a printer without any problems.  http://wiki.archlinux.org/index.php/CUPS
    The first section describes how to troubleshoot CUPS and printing problems.
    I've also found a few other posts and links that may help.
    http://hplipopensource.com/hplip-web/mo … eries.html
    http://ubuntuforums.org/showthread.php?t=419163
    Hope this helps!

  • Is it a bug - SSIS 2012 ReadOnlyVariables in Script Task doesn't work

    It's very weird when I use the ReadOnlyVariables in SSIS 2012 Script Task, it doesn't work at all!!! And I never notice this change before, but everything in 2008 R2 is fine! Is it a bug in SSIS 2012 ?
    All the variables I set them to "ReadOnlyVariables"
    In scripts - I assigned some values from system variables.
    String PackageName = Dts.Variables["System::PackageName"].Value.ToString();
    DateTime CurrentDate = (DateTime)Dts.Variables["System::StartTime"].Value;
    // User Defined Variables
    Dts.Variables["User::PV_CURRENT_DATE"].Value = CurrentDate;
    Dts.Variables["User::PV_YEAR"].Value = CurrentDate.Year;
    Dts.Variables["User::PV_MONTH"].Value = CurrentDate.Month;
    Dts.Variables["User::PV_DAY"].Value = CurrentDate.Day;
    Dts.Variables["User::PV_PACKAGE_NAME"].Value = PackageName;
    Execute the package, it works !
    The only thing I can make it as SSIS 2008 R2 does is to change the ReadOnly for each variables.
    Then you will get the error.
    Why do we need this feature here but not to use the ReadOnlyVariables in script task ?
    Please vote if it's helpful and mark it as an answer!

    I can reproduce it as well. Feels like a bug...
    Locking the variable for read in code has the same effect:
    public void Main()
    // Lock variable for read
    Dts.VariableDispenser.LockForRead("User::myStringVariable");
    // Create a variables 'container' to store variables
    Variables vars = null;
    // Add variable from the VariableDispenser to the variables 'container'
    Dts.VariableDispenser.GetVariables(ref vars);
    // Now try giving it a new name
    vars["User::myStringVariable"].Value = "new value";
    // Release the locks
    vars.Unlock();
    Dts.TaskResult = (int)ScriptResults.Success;
    For reference:
    https://connect.microsoft.com/SQLServer/Feedback/Details/991697
    Please mark the post as answered if it answers your question | My SSIS Blog:
    http://microsoft-ssis.blogspot.com |
    Twitter

  • "SFC /VERIFYFILE" doesn't work. Is it a BUG?

    Hello to all.
    Original topic: hxxp://answers.microsoft.com/en-us/windows/forum/windows8_1-performance/sfc-verifyfile-doesnt-work-is-it-a-bug/17542cd5-1eee-4cb1-948c-d9ff68267e3a
    I found that SFC /VERIFYFILE doesn't work on my machine.
    I can't know if it doesn't work on each Windows 8/8.1 machine.
    I saw this when I was trying to verify a well-known file prone to corruption (it is at least an year that this keeps to corrupt itself):
    CNBJ2530.DPB.
    That file becomes corrupt for unknown reasons, from time to time.
    Usually you can find Windows corrupt files through SFC /SCANNOW, wait for about
    half hour and check the CBS.LOG.
    Given that the corrupt file is always THAT, I decided to try SFC /VERIFYFILE (few months ago), to save time.
    To my surprise, it didn't work:
    sfc /verifyfile=C:\Windows\winsxs\amd64_prncacla.inf_31bf3856ad364e35_6.3.9600.17415_none_95dd5540d57f8c01\Amd64\cnbj2530.dpb
    Windows Resource Protection could not perform the requested operation.
    (Italian: Protezione risorse di Windows: impossibile eseguire l'operazione richiesta.)
    Yes, I used an elevated command prompt.
    Yes, I've tried with double quotes... And single quotes, too.
    The questions are: Doesn't it work just for me? Or Doesn't it work for everybody?
    Thanks in advance for any replies and/or
    confirmations.
    Operating System: Windows 8.1 x64 update
    1.
    - I changed the Windows font size from Control Panel\Appearance and Personalisation\Display, change the size of all items, larger (150%).
    - I changed the setting NX=AlwaysOn
    (DEP always on), by:
    bcdedit /set {current} nx
    AlwaysOn
    - I modified the default rules of the
    firewall (I exported the standard criteria
    and saved in a file), created my
    own rules, blocked all outgoing connections
    (except those I created with
    my rules).

    Hi xiolee,
    Apologize for the late reply.
    I think SFC command have its own usage (mostly it should be good to fix the files that needed to boot Windows), and not for all the repair of the component store files. Those files are considered repairable using DISM command, which is told in the blog below:
    Fixing component store corruption in Windows 8 and Windows Server 2012
    For SFC command, please check:
    Use the System File Checker tool to repair missing or corrupted system files
    System File Checker
    For Winsxs folder, see:
    WinSxS
    I run the command and receive the same error,
    Best regards
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • [BUG]: MakeWritable doesn't work for mac

    I'm trying to use oracle.jdeveloper.refactoring.util.MakeWritableHelper in my plugin, and I found it doesn't work for MAC. The byte code shows it only check the osname for "Windows" and "Linux".
    and some Jdeveloper refactoring feature failed due to can't make file writable, they may also related to this class.

    My MAC version is OSX 10.5.4.
    I don't have a stacktrace. It just fails silently.
    You can easily reproduce this bug by reformat a readonly file.
    Here is the code I reverse engineered from oracle.jdeveloper.refactoring.util.Util.java:
    public static boolean setReadOnly(java.net.URL url, boolean readOnly)
    boolean ret = false;
    java.lang.String cmdarray[] = null;
    java.lang.String platformPathName = oracle.ide.net.URLFileSystem.getPlatformPathName(url);
    java.lang.String osName = java.lang.System.getProperty("os.name", "");
    if(osName.startsWith("Windows"))
    cmdarray = (new java.lang.String[] {
    "ATTRIB", readOnly ? "+R" : "-R", (new StringBuilder()).append('"').append(platformPathName).append('"').toString()
    else
    if(platformPathName.equalsIgnoreCase("Linux"))
    cmdarray = (new java.lang.String[] {
    "chmod", readOnly ? "u-w" : "u+w", (new StringBuilder()).append('"').append(platformPathName).append('"').toString()
    if(cmdarray != null)
    java.lang.Runtime runtime = java.lang.Runtime.getRuntime();
    try
    java.lang.Process process = runtime.exec(cmdarray);
    if(process.waitFor() == 0)
    ret = (new File(platformPathName)).canWrite();
    if(ret)
    oracle.ide.model.Node node = oracle.ide.model.NodeFactory.find(url);
    if(node instanceof oracle.ide.model.TextNode)
    oracle.ide.model.TextNode textNode = (oracle.ide.model.TextNode)node;
    textNode.isReadOnly();
    catch(java.io.IOException e)
    e.printStackTrace();
    catch(java.lang.InterruptedException e)
    e.printStackTrace();
    return ret;
    }

Maybe you are looking for