Where to user clear_block in forms - oracleforms

I am working on forms 9i. I want to clear the block after inserting record(s). I am writing clear_block(NO_VALIDATE) in post-insert trigger. But it is showing Restricted procedure error. How to use it or is there any other way to clear the form.

Just add a new push button or use an existing push button in which suppose commit_form; code is written to save the changes, after that line add the following code in when-button-pressed trigger:
Example
Begin
Commit_Form;
Go_block('yourblock');
Clear_Block(no_validate);
End;

Related

Add marks on click

I would like to add marks with clicks into the Vega view.
For example, in this density plot I would like to set these vertical rules with clicks:
Link to Editor
Is that possible?
It is possible: Triggers can be used to update the data: https://vega.github.io/vega/docs/triggers
In this example, points can be added by clicking into the Vega View:
Link to Editor. Important are the signal addMark that listens on clicks and the trigger that is added to the input data source_0. The signal passes the data as it is stored in the dataset.
Triggers can also be used to drag marks, as in this example that builds on the first:
Link to editor
Applied to the example of my initial question, the final spec looks like:
Link to Editor

Sending data to script from hyperlink

is there any way I can do something like in my example below but with normal hyperlinks ? I can't use drop down menu.
//edit: I have a web page and a script, on web page now i have drop down menu where user choose some values and submit them, script then do the work.
I just need to sent 3 values to script. (user must choose this values)
Hope its clearly now
this is part of code on my page:
<form action='script/script.py' method='post'>
<select name = 'menu0'>
<option value='x'>X</option>
<option value='y'>Y</option>
//
And also is there any easy way to remember what user set in dropdown menu ?
First, you can't use POST method in hyperlink, if your server code support GET method then you can create separate links for multiple options
x data
y data
....
.....
Other solution: This should also helpful you, as above create multiple links, you can hidden your form and submit form from <a> tag onclick event
With Hyperlink you can use GET method which is more easy to embed in the link like this :
X
Y
So make this work, you will be needing to change your script.py code, that make use of GET function instead of POST.
And easy way to remember what user set in dropdown menu is to store the input you GET via your script to a session variable when script.py gets executed. You can then use that session variable in whole scope of your application i.e. any other python scripts. Refer Session variables for this.

How to update a textfield with data from perl script without reloading whole page?

I have three input fields, in the first i enter an cardnumber in the second i enter the pin, after i entered both of the inputfields it should run an perl script which fills the third input field with the ammount of the card (the amount comes from the db with the perlscript).
Is there something like an afterupdate for the inputfields, which then starts the perlscript?
And is there anyway to fill the third inputfield without print the whole page again with the perlscript? Thanks for ya help!
Use jQuery - its a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development
The blur event of the second input field should trigger an AJAX request to your perl script that will return data you require and then populate the 3rd textfield with this data, without the need to reload the page.
I could write the code for you BUT you'll gain a much better understanding by trying it yourself.
If you get stuck - edit the question to include your code and we'll see what we can do.

How to Load the page First and read database

HTML form has some text boxes and a drop down box.
Drop down has huge values, and takes lot of time to fetch from database.
So I want to load the page first and while the user fills the form (text boxes) I want to load the drop down box (without his knowledge :-) ).
But without any event trigger, how do I make call to database again ?
I am using JSF with RichFaces, Servlet.
The following code is not working
<h:selectOneMenu value="#{obj.selectedValue}">
<f:selectItems value="#{obj.allValues}" />
<a4j:support selfRendered="true" action="#{bean.action}"/>
</h:selectOneMenu>
Thanks,
+1 for using Ajax - but if you have a very large number of values,t hen you might want to consider using an auto completion dropdown - where the the user starts typing what they need and after they have typed a few characters, you kick off your ajax reqeuest and just load those requests that match.
have a look at "google suggest" if you want to see this in action
-Ace
As already mentioned you can use AJAX to load the dropdown items asynchronously, but I would suggest redesigning the form so that the huge dropdown is not required. Perhaps let the user search for the correct value on a previous or subsequent screen? Long dropdowns are not easy to use as they require lots of scrolling and it can be hard to find the correct value on a large list.
At the bottom of your page put the following:
<a4j:jsFunction name="yourJsFunction" action="#{bean.fetchSelectItems}"
reRender="yourDropdown" />
window.onload = yourJsFunction();
You will have to use AJAX. When the page loads display a empty select box. Then write some JavaScript that will call some URL on your server that will return the options for the select box. And when you get that just populate the select box with those values.
Be advised that your form will be useless to those without JavaScript.

Event that fires when a form changes

I have form that displays information on a project. Most of the fields on the form are bound to a Project table and display and update as bound fields do. However, I also have 10 checkboxes that come from a ProjectAudience table. Only if the box on the form is checked, is there is a matching record in the table. Therefor, I need to insert and delete records as these boxes are checked and unchecked.
I can do it at the checkbox level with the AfterUpdate event, but that would require 10 different events. I looking to do it at the Form level by deleting all records in the ProjectAudience table for that project and adding in the checked ones.
Basically, I'm looking for the opposite of the Form_Current event that will fire when either the record navigation button is fired or the form is closed. I'm trying to avoid either writing my own navigation buttons or adding a "SAVE" button to the form that the user must press. I want something automatic that will update this table when the user navigates away from the record.
Based on a comment below: Any combination of boxes from none to all can be checked not just a single box. Therefore, it is possible that I would wipe out all records and not insert any back... or add 10 records if every box was checked. (Also, I am using Microsoft Access 2003)
Have you considered adding these checkboxes to an Option Group and using events from that group?
EDIT re Comment, Alternative approach, do not use an option group, but add code to an event line for all relevant options.
You do not need code for 10 different events, you can set the event line for, say, On Click to the name of a function, let us say:
On Click : =TestMe()
Event Line http://ltd.remou.com/access/EventLine.png
You then need a function:
Function TestMe()
MsgBox "You clicked " & Screen.ActiveControl.Name
End Function
You can use the BeforeUpdate method. However, if only the checkboxes have been changed this event will not fire since the record to which the form is bound didn't change.
I would advise to link events to the checkboxes. Create a function UpdateCheckbox(CheckboxID as integer) that does what you want and put this in the 'OnClick' event from the ckeckboxes: =UpdateCheckbox(1). Change the 1 for the different checkboxes.