Phpmaker 2019 download - Activators Patch

16.08.2021 5 Comments

phpmaker 2019 download  - Activators Patch

0 Full Version. PHPMaker Crack PHPMaker is an advanced PHP generator that provides a powerful, flexible, and automation tool to create websites. You may have to fix the error problem by repairing the Microsoft Office installation. Note: You need to use genuine license/activation details to. 9 2019 Download, programmers can quickly generate PHP scripts from MySQL, PostgreSQL, Microsoft Access and SQL Server. It includes a handy set.

Phpmaker 2019 download - Activators Patch -

e-World Tech PHPMaker 2022.6.0 + Activator

Free Download e-World Tech PHPMaker 2022 full version standalone offline installer for Windows is a powerful automation tool that can quickly generate a complete set of PHP scripts from MySQL, PostgreSQL, and Microsoft Access Microsoft SQL Server, Oracle, and SQLite databases.

Overview of e-World Tech PHPMaker Benefits

Using PHPMaker, you can instantly create websites that allow users to view, edit, search, add and delete records on the web. PHPMaker can also create summary reports, crosstabs reports, and dashboards with JavaScript (HTML5) charts (column, bar, line, pie, area, doughnut, multi-series, and stacked chart) to summarize and visualize your data.

PHPMaker is designed for high flexibility; numerous options enable you to generate PHP applications that best suits your needs. The generated code is clean, straightforward, and easy to customize. Can run the PHP scripts on Windows servers or Linux servers. PHPMaker can save you tons of time and is suitable for both beginners and experienced developers alike.

Overview of e-World Tech PHPMaker Features

  • List, Add/Copy, View, Edit, Delete, Multi-Update and Search pages
  • Load JavaScript asynchronously and Bootstrap Spinner
  • Export to Printer-friendly, HTML, Word, Excel, CSV, XML, Email, PDF
  • Master/Detail-Add/Edit/View and Multiple Master/Detail
  • Grid-Add, Grid-Edit, Inline-Add, Inline-Copy, and Inline-Edit
  • Optional Confirmation Page Before Inserting or Updating Record
  • Synchronize project with database
  • Test generated site with PHP built-in web server
  • Server-side validation and/or client-side JavaScript validation
  • Field aggregates (sum, average and count)
  • Single or multiple column sorting
  • Audit trail with log file or database table
  • Email notification on Add/Edit/Delete
  • Dynamic table loading
  • Composite key
  • Auto-Fill child fields on selecting an option for the parent selection list
  • Hashed password and case-sensitive password
  • XSS removal
  • Fully customizable template and extensions

Technical Details and System Requirements

  • Supported OS: Windows 10, Windows 8.1, Windows 7
  • RAM (Memory): 2 GB RAM (4 GB recommended)
  • Free Hard Disk Space: 200 MB or more
e-World Tech PHPMaker 2022.6.0 + Activator

 
 

Download Version




Download Only

Источник: https://www.zuketcreation.net/e-world-tech-phpmaker-2022-6-0-activator
Tested

PHPMaker 2021 Keygen incl Full Version

phpmaker crackPHPMaker 2022.6.0 Crack is a powerful automation tool for creating websites with built-in PHP form and database. It can generate a full set of PHP quickly from Microsoft SQL Server, MySQL, Oracle, Microsoft Access, and other databases. It let you instantly create websites, and you can further view, edit, add, search, and delete records on the web. It is designed to make websites with higher flexibility and advanced options that best meet your needs. It will generate clean, straightforward, and easy-to-customize codes and the PHP scripts can be run on Windows servers. It will enhance your workflow and save your tons of time and is best suited for every kind of user whether he is a beginner or dealing with the software professionally. It offers the easiest solution for creating data-driven websites.

PHPMaker 2022 is an advanced level PHP generator tool that helps in building your websites powerfully and flexibly with the latest technology. It brings the latest and advanced technology and features including a new faster script engine, new list page and much more that allows you to create PHP websites while the view and manages records on the web easily and quickly. It comes with an intuitive, flexible, and easy-to-use interface that can be customized according to the needs and let you build a secure and professional website efficiently. It is designed for making the creation of web pages quicker and easier using the predefined free website template for various categories according to user requirements. You can see the effect of your work on the built-in web browser.

PHPMaker 2022 with serial key is the best tool for the creation of the websites without the learning of any coding and handling everything just by your mouse. You can build an eye-catching website with advanced tools and functions and without any learning of tough coding and programming skills. It greatly saves your time and helps in the attractive design of your websites, and the already stored plug-ins can be used for any page you wish to design. All the template codes are included within the tool for making a responsive website. It provides an easy and intuitive interface that can be efficiently used by beginners with the minimum knowledge of web designing while the advanced tools and features are provided to be used professionally.

PHPMaker 2020 full is a professional software for virtually designing your websites and making your own web pages. The full version is available for free download. You can also download the torrent file with a key. It gives you a deep understanding of your code, top-notch coding assistance, and supports all major tools and frameworks. It is one of the most desired software that a programmer needs for a deep and better understanding of code.

v2020.1 Key Features:

  • Supports MySQL, PostgreSQL, and Oracle.
  • Responsive Layout with Bootstrap
  • Fully customizable View and Edit
  • File uploading to folder and database
  • Theme with Bootstrap Variables
  • CSS stylesheet with the Custom template
  • Export to CSV/HTML/Excel/Word/XML/PDF/Email
  • Advanced Security

PHPMaker 2022 Crack Method:

  1. Download the software from the given link.
  2. Open the software folder and run the setup file.
  3. Click “Next” to continue.

phpmaker keygen pic 1

  1. Set the folder location and click “Next”.
  2. Click “Install” to start the installation and click “Finish” when the installation is complete.

phpmaker serial pic 2

Open the Crack PM Folder, Extract and Copy the cracked File and Paste it into the software installed directory.

All done! Enjoy full working PHPMaker 2020

Click below to download the tested Cracked PHPMaker 2021

 

 

 

 

PHPMaker 2022.6.0 Crack Free Download

Setup + Crack

Download Link 1

+

Download Link 2

Filed Under: Web development & Web Design Software

Источник: https://www.bicfic.com/phpmaker-crack-full/

PHPMaker Crack

PHPMaker Serial Key Download

PHPMaker Serial Key Free Download is an impressive application for creating PHP scripts using PostgreSQL, Microsoft Access and other similar application features. With PHP, users can design websites and easily view, edit, customize, delete and search records on the designed site.

e-World Tech PHPMaker Full Version Crack has a user friendly interface that is easy to use. PHPMaker generates PHP and allows users to easily read the code because the code is clean and organized. The application provides a variety of advanced security for the generated code for the safety of the developed code and programming.

PHPMaker 2021 Crack has a variety of customizable templates and extensions, with options for easy setup and options to quickly create and generate results. It synchronizes the project with the database and makes the latest changes to development with the latest code. Both sides support authentication from server slides PHP and user slides Javascript. Users can get output in various formats such as CSV, HTML, Excel, Word, XML, PDF and email.

You can also downloade-World Tech ASP.NET Maker with Keygen

PHPMaker Key Features:

  • An impressive application for creating PHP scripts using PostgreSQL, Microsoft Access, etc.
  • You can design websites and easily view, edit, customize, delete and search records on the designed site.
  • It synchronizes the project with the database and makes the latest changes to development with the latest code.
  • Supports MySQL, PostgreSQL, Microsoft Access (Windows server), Microsoft SQL Server (Windows server), and Oracle
  • Optional List, Add/Copy, View, Edit, Delete, Multi-Update and Search pages for each table/view
  • Optional Grid-Add, Grid-Edit, Inline-Add, Inline-Copy, Inline-Delete, Inline-Edit within the List page
  • Referential Integrity (enforce foreign key points to a valid record in the master table), Cascade Delete and Cascade Update
  • File uploading to folder and database (supports mulitple file upload to folder)
  • Optional User ID and User Level Advanced Security to protect data from unauthorized access.
  • Create, alter and drop database views with built-in visual query builder
  • Dynamic Selection List with multiple display and parent/filter fields (SELECT, RADIO and CHECKBOX)
  • Scrolling table in List page (extension for registered users only)
  • And much more…

System Requirements:

  • Operating System: Windows XP/Vista/7/8/8.1/10.
  • Memory (RAM): 512 MB of RAM required.
  • Hard Disk Space: 50 MB of free space required.
  • Processor: Intel Dual Core processor or later.
PHPMaker Serial Number Download

How to Crack PHPMaker 2021.0.1 Serial key?

  • First download the latest version.
  • Uninstall the previous version by using IObit Uninstaller Pro.
  • Note Turn off the Virus Guard.
  • After Download Unpack or extract the rar file and open setup (use Winrar to extract).
  • Install the setup after install.
  • Use keygen generate the serial key to activate the program.
  • After all of these enjoy the PHPMaker Latest Version 2020.

Password is:www.abbaspc.net

Please Share it. Sharing is Always Caring

Download Here

Источник: https://abbaspc.net/phpmaker-serial-key/
$pageID == "view") { // List/View page only






}
}

// Change text style by Bootstrap classes




}

Row_Selecting This event will be called before selecting a record. The argument of the event is the filter (part of the
WHERE clause of the SQL) for selecting the record, you can customize the filter to change the record to
be selected.

Row_Selected This event will be called after selecting a record. The argument is the record selected as an array. The
event is still fired when inserting a new record, but in such case there is no "selected" row and the
argument is an array with all field values as NULL.

Example

Disable a field in Edit page

function Row_Selected(&$rs) {


value equals some value
}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 16 of 47

Row_UpdateConflict This event will be called if conflicts is found before updating a record (if Check Conflicts is enabled, see
Table Setup). The arguments of the event are the old record (as array) and new record (as array) to be
updated.

You can use this event to resolve the conflicts according to your own criteria. If you want to ignore
conflicts or you have resolved the conflicts in the event (by setting new values to the argument rsnew)
and want to continue update, return FALSE. Otherwise, return TRUE. By default the event returns TRUE.

Row_Updating This event will be called before updating a record. The arguments of the event are the arrays of the old
and new record to be updated.

Example

Make sure a field value is not changed

function Row_Updating(&$rsold, &$rsnew) {


if ($rsnew["Qty"] < $rsold["Qty"]) {
// To cancel, set return value to False

return FALSE;
}
return TRUE;
}

Row_Updated This event will be called after updating a record. The arguments of the event are the arrays of the old
and new record updated.

Example

After updating a field in detail table, update a field in the master table.

function Row_Updated($rsold, &$rsnew) {


//var_dump(rsold, rsnew); die(); // Print the old and new record and end the script
$rs = ["FieldInMasterTable" => $rsnew["FieldInDetailTable"]]; // Set field values
(new MasterTable())->Update($rs, "PrimaryKeyFieldInMasterTable = " . $rsold
["ForeignKeyFieldInDetailTable"]); // Note: Table class is named as <TableName>. Assume
PrimaryKeyFieldInMasterTable is integer.
}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 17 of 47

Grid_Inserting For use with Grid-Add for a table and Master/Detail-Add for a detail table, this event will be called
before inserting records. This event has no arguments.

You can use this event to check all records to be inserted. If you want to cancel insert, return FALSE.
Otherwise, return TRUE. By default the event returns TRUE.

Note If you only need to check individual record, there is no need to use this event, simply use
Row_Inserting (see above) which will be called for each row in the grid.

Example

Check all records before inserting. Note that this event is called before Row_Inserting, the field values
are not loaded yet, but you can load them yourself.

function Grid_Inserting() {

of array
//var_dump($rsnew); die(); // Print the records and end the script
$sum = 0;
foreach ($rsnew as $row) // Loop through the new records
$sum += intval($row["Percentage"]);
if ($sum < 100) {
// To cancel, set return value to False

return FALSE;
}
return TRUE;
}

Note Data returned from GetGridFormValues() is read only, do NOT try to change the values. To
change the values, use Row_Inserting (see above) which will be called for each row in the grid.

Grid_Inserted For use with Grid-Add for a table and Master/Detail-Add for a detail table, this event will be called
after inserting all records. The argument of the event ($rsnew) is array of records inserted (retrieved
from database).

For example, you can use this event to update a field in the master table (similar to the example for
Row_Updated above) after Master/Detail-Add.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 18 of 47

Grid_Updating For use with Grid-Edit for a table and Master/Detail-Edit for a detail table, this event will be called
before updating records. The argument of the event ($rsold) is array of records to be updated (retrieved
from database).

You can use this event to check all records to be updated. If you want to cancel update, return FALSE.
Otherwise, return TRUE. By default the event returns TRUE.

Note If you only need to check individual record, there is no need to use this event, simply use
Row_Updating (see above) which will be called for each row in the grid.

Example

Check all records before updating. Note that this event is called before Row_Updating, the field values
are not loaded yet, but you can load them yourself.

function Grid_Updating($rsold) {

of array
//var_dump($rsnew); die(); // Print the records and end the script
$oldtotal = 0;
foreach ($rsold as $row) // Loop through the old records
$oldtotal += intval($row["Subtotal"]);
$newtotal = 0;
foreach ($rsnew as $row) // Loop through the new records
$newtotal += intval($row["Subtotal"]);
if ($newtotal < $oldtotal) {
// To cancel, set return value to False

return FALSE;
}
return TRUE;
}

Note Data returned from GetGridFormValues() is read only, do NOT try to change the values. To
change the values, use Row_Updating (see above) which will be called for each row in the grid.

Grid_Updated For use with Grid-Edit for a table and Master/Detail-Edit for a detail table, this event will be called after
updating all records. The argument of the event ($rsold and $rsnew) are array of records before and
after update (retrieved from database).

For example, you can use this event to update a field in the master table (similar to the example for
Row_Updated above) after Master/Detail-Edit.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 19 of 47

Email_Sending This event is fired before the email notification is sent. You can customize the email content using this
event. Email_Sending event has the following parameters:

$email - the email object instance which contain all the information about the email to be sent. It is an
instance of the Email class (see below).
$args - an array which contains additional information.

If Add, the new record in the format of array can be access by $args["rsnew"].
If Copy, the old record in the format of array can be access by $args["rsold"].
If Edit/Update, the old data of the records in the format of array can be access by $args["rsold"], the
new data of the records in the format of array can be access by $args["rsnew"].
If Register, the new record in the format of array can be access by $args["rs"].

You can get a field value by, e.g.

$rsnew = $args["rsnew"];
$myValue = $rsnew["MyField"];

or

$myValue = $args["rsnew"]["MyField"];

Return FALSE in the event if you want to cancel the email sending.

If Grid-Add/Edit or Update page, there are more than one records, the arguments are array of array.

Example

Assume there is an email field in the record, and you want to change the recipient to the value of that
field.

function Email_Sending($email, &$args) {


//var_dump($email, $args);
//exit();
if (CurrentPageID() == "add") { // If Add page
$email->Recipient = $args["rsnew"]["MyEmailField"]; // Change recipient to a field value
in the new record
$email->Subject = "My New Subject"; // Change subject
$email->Content .= "\nAdded by " . CurrentUserName(); // Append additional content
}
return TRUE;
}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 20 of 47

Lookup_Selecting This event is fired before building the SQL for selecting records from the lookup table. You can use this
event to change the filters.

In the event, the field name, Lookup object and filter for the lookup can be viewed by:

var_dump($fld->Name, $fld->Lookup, $filter);

$fld->Lookup is an object. To change the lookup SQL, you can modify the following properties of the
Lookup object:

UserSelect SELECT Statement (SELECT clause and FROM clause only)

UserFilter WHERE clause

UserOrderBy ORDER BY clause

Example 1

Add additional filter to the lookup table filter

function Lookup_Selecting($fld, &$filter) {


//var_dump($fld->Name, $fld->Lookup, $filter); // Uncomment to view the field name, Lookup
object and the filter
if ($fld->Name == "MyLookupField")
$fld->Lookup->UserFilter = "MyField = 'xxx'"; // Assume the field is of string type
}

Example 2

Change the default filter operator of a filter field

function Lookup_Selecting($fld, &$filter) {


if ($fld->Name == "MyLookupField") {
$fld->Lookup->UseLookupCache = FALSE; // Make sure that lookup cache is disabled
$fld->Lookup->setFilterOperator("FilterField", ">");
}
}

Example 3

Modify lookup SQL SELECT / ORDER BY

function Lookup_Selecting($fld, &$filter) {


if ($fld->Name == "MyLookupField") {
$fld->Lookup->UserSelect = "SELECT Field1 AS lf, Field2 AS df, Field3 AS df2, '' AS df3,
'' AS df4 FROM Table1"; // Modify SELECT
$fld->Lookup->UserOrderBy = "Field2 ASC"; // Modify ORDER BY
}
}

Example 4

Use static array

function Lookup_Selecting($fld, &$filter) {


if ($fld->Name == "MyLookupField")
$fld->Lookup->setOptions([
["link value 1", "display value 1", "display value 2", "...", ""],
["link value 2", "display value 1", "display value 2", "...", ""]
]); // Use static array
}

Example 5

Use data from ExecuteRows

function Lookup_Selecting($fld, &$filter) {


if ($fld->Name == "MyLookupField")
$fld->Lookup->setOptions(ExecuteRows("SELECT LinkField, DisplayField1, DisplayField2,
DisplayField3, DisplayField4 FROM LinkTable")); // Use data from ExecuteRows
}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 21 of 47

UserID_Filtering For use with User ID security. (See Security Settings) This event is fired before adding the User ID filter to
the WHERE clause of the table. It is possible to modify, replace or add filter so the user can access more
or less records that he/she can access by its originally loaded User IDs.

Example

Assume you have 2 User ID fields in the current table and in the user table, and you want to filter by
both User ID fields.

function UserID_Filtering(&$filter) {
AddFilter($filter, "MyUserIDField2 = " . CurrentUserInfo("MyUserIDField2InUserTable")); //
Assume the field is of integer type
}

Table-Specific -> Add/Copy page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. The argument is the URL to be redirected to.

By default after inserting a record user is redirected back to the List page. You can change that by using
Return Page (see Table Setup). However, If you want to change by code, you can also use this event.

Message_Showing This event is fired before the message stored in the session variable is shown.

The first argument $msg is the message to be shown, the second argument $type is the type of the
message, possible values of type are: "" (empty string), "success", "failure", and "warning".

Example

Replace an error message by custom message

function Message_Showing(&$msg, $type) {


if ($type == 'success') {
//$msg = "your success message";
} elseif ($type == 'failure') {
if (strpos($msg, "some standard message") !== FALSE) // The original message contains
some keywords you want to replace
$msg = "My custom message";
} elseif ($type == 'warning') {
//$msg = "your warning message";
} else {
//$msg = "your message";
}
}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 22 of 47

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom

An argument $customError is passed to the event, you can add your error message and return FALSE if
the form values do not pass your validation.

Example

Make sure an integer field value meet a certain requirement

function Form_CustomValidate(&$customError) {

if (intval($rs["Qty"]) % 10 <> 0) {
// Return error message in $customError
$customError = "Order quantity must be multiples of 10.";
return FALSE;
}
return TRUE;
}

Note If you use this server event, make sure you have enabled server-side validation, see
Validation in PHP Settings.

Table-Specific -> Delete Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default after deleting record(s) user is redirected back to the List page. You can change that using this
event.

Table-Specific -> Edit Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 23 of 47

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default after updating a record user is redirected back to the List page. You can change that by using
Return Page (see Table Setup). However, If you want to change by code, you can use this event.

Table-Specific -> List Page

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 24 of 47

Page_Load This event will be called after connecting to the database.

Note The export links are stored as a ListOptions object (also see ListOptions_Load,
ListOptions_Rendering and ListOptions_Rendered event below), you can manipulate the links in
the same way. The defaut names of the options are:

• print
• html
• excel
• word
• xml
• csv
• pdf
• email

Note that the names are in lowercase and are case-sensitive.

Example 1

Hide the export to PDF link in List page:

function Page_Load() {

if ($item)
$item->Visible = FALSE;
}

Example 2

Add a custom link at the end of the export links

function Page_Load() {

$item->Body = "<a href='MyURL'>My Link</a>";
}

Example 3

Add a custom action to submit selected records by HTTP POST

function Page_Load() {

caption of the custom action
}

Adding a custom action by its name and caption is a actually a short form of

and is supported for backward compatibility only. Use the ListAction class so you have more options for
the custom action. The constructor of ListAction class is

function __construct($action, $caption, $allow = TRUE, $method = ACTION_POSTBACK, $select =


ACTION_MULTIPLE, $confirmMsg = "", $icon = "fa fa-star ew-icon", $success = "")

$method is either ACTION_POSTBACK (submit by HTTP POST) or ACTION_AJAX (submit by Ajax).

$select is either ACTION_MULTIPLE (submit the selected records) or ACTION_SINGLE (submit the current
record only).

$success is the name of JavaScript callback function, if any. You can place your callback function in client
side Global Code section (see below).

Note To process the action, you also need to write a handler with Row_CustomAction server
event (see below).

Example 4

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 25 of 47

Add a custom action to submit selected records by Ajax

function Page_Load() {

ACTION_MULTIPLE, "Add Star to selected records?", "fa fa-star ew-icon");
}

Note To process the action, you also need to write a handler with Row_CustomAction server
event (see below).

Example 5

When Custom Templates (see Custom Templates) is used, they will be used for export to
Word/Excel/PDF/Email (not including PhpSpreadsheet and PHPWord) by default. You can however
change it.

function Page_Load() {

if ($item)

export to Excel
}

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content before
the main table.

Example

Hide a field from the main table

function Page_DataRendering() {

}

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content after
the main table.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. See description of Form_CustomValidate for Add/Copy page above.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 26 of 47

ListOptions_Load This event will be called before the main table is rendered. Use this event to modify the non data
columns of the main table (i.e. the links and the checkbox for each record). You can modify these
columns or add your own columns using this event. You can get a column by name using

Note The following predefined names are reserved, do not use them for your own columns. These
names are case-sensitive and are in lowercase except for the detail table names.

• checkbox
• view
• copy
• delete
• edit
• detail_<DetailTable> - Detail table column
• details - the Multiple Master/Detail column
• preview - column for preview row of the Detail Preview extension (for registered users)
only
• sequence - column for sequence number
• button - column for button group or button dropdown

Example 1

Add a new column.

function ListOptions_Load() {

$item->Header = "MyCaption"; // Set the column header (for List page)
$item->OnLeft = TRUE; // Link on left
$item->MoveTo(0); // Move the column to the specified index
}

Note If you have enabled Use buttons as links and/or Use button dropdown for links (see PHP
Settings), note that the feature will hide the list options and try to move hyperlinks to the button
group or button dropdown. If your Body property (see below) is not hyperlink(s), it cannot be
shown in the button group or button dropdown, you should remove your list option from the
button group or button dropdown by adding, e.g.

$item->ShowInButtonGroup = FALSE;

and/or

$item->ShowInDropDown = FALSE;

Example 2

Hide the "view" column.

function ListOptions_Load() {

}

Example 3

Hide a detail table named "MyDetailTable" in Preview Row or Overlay (requires Detail Preview extension
which is for registered users only)

function ListOptions_Load() {

}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 27 of 47

ListOptions_Rendering This event will be called before list options are rendered. To access field object of the current row, you

Note Do NOT try to show/hide a column dynamically by setting the Visible property of the list
option in this event. If the column is visible in one row but invisible in another, the table will be
malformed.

Example 1

Disable Master/Detail-Add/Edit/View, e.g. if the detail table name is "orderdetails"

function ListOptions_Rendering() {
$GLOBALS["orderdetails_grid"]->DetailAdd = (...condition...); // Set to TRUE or FALSE
conditionally
$GLOBALS["orderdetails_grid"]->DetailEdit = (...condition...); // Set to TRUE or FALSE
conditionally
$GLOBALS["orderdetails_grid"]->DetailView = (...condition...); // Set to TRUE or FALSE
conditionally
}

Example 2

Append a CSS class to all cells (including header/footer cell) of a field in the List page

function ListOptions_Rendering() {

}

Notes

1. The AddClass() method add class to all cells including those in table header and footer. Do
not use this method if you want to add class for the current row only.
2. Use this example carefully if your List page supports Inline/Grid-Add/Copy/Edit. If a field is
only visible in large screen, it cannot be updated in smaller screens.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 28 of 47

ListOptions_Rendered This event will be called after list options are rendered. Use this event to modify content of the non data

Note Do NOT try to show/hide a column dynamically by setting the Visible property of the list
option in this event. If the column is visible in one row but invisible in another, the table will be
malformed. If you want to hide the content dynamically, you can set the Body property as empty
string.

Example 1

Set the content of the new column dynamically based on a field value.

function ListOptions_Rendered() {


} else {

}
}

Example 2

Add a link to perform a custom action for the row by Ajax.

function ListOptions_Rendered() {


"});\">Add Star</a>";
}

Note To process the action, you also need to write a handler with Row_CustomAction server
event (see below).

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 29 of 47

Row_CustomAction If you have used Page_Load server event (see above) to add your custom action to the List page, the
page will show the checkbox column for users to select records (similar to Multi-Update and Mulit-
Delete). When user clicks the custom action link or button, the page will post back to itself and this event
will be fired (after Page_Load and before Page_Render) for each selected row to process the custom
action.

Return TRUE to proceed to next record or return FALSE to abort custom action.

Example

Update the status of the selected records, assuming the table has a field named "Starred" for storing the
status, and the primary key is an integer field names "ID".

function Row_CustomAction($action, $row) {


if ($action == "star") { // Check action name
$rsnew = ["Starred" => "Y", ...]; // Array of field(s) to be updated

(the second argument is WHERE clause for UPDATE statement)
if (!$result) { // Failure

return FALSE; // Abort and rollback


}
return TRUE; // Success
}
}

Note If you cancel the action by returning FALSE in the event, you can use the setFailureMessage
() method to set your message. However, note that if the event returns FALSE, subsequent rows
will not be processed and the database changes for previous rows will be rolled back (if your
database supports transaction). So if you just want to cancel action for a row without affecting
other rows, the event should still return TRUE and use setSuccessMessage() method to set your
message.

Page_Exporting This event will be called before the page is exported. You can use this event to add your additional code
to the beginning of file to be exported. Return FALSE to skip default export and use Row_Export event


(except PhpSpreadsheet/PHPWord).

Note If Custom Templates is used (see Custom Templates), this event may be overridden. You
can disable using Custom Templates for report, see example for Page_Load above.

Example

Add a title to the export document and use custom export if export to Excel (not PhpSpreadsheet)

function Page_Exporting() {


return FALSE; // Return FALSE to skip default export and use Row_Export event
}
return TRUE; // Return TRUE to use default export and skip Row_Export event
}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 30 of 47

Row_Export If you return FALSE in Page_Exporting event (see above), this event will be called when a row is
exported for you to export in your own code.

The argument ($rs) is an array of the record to be exported. The values in $rs are unformatted database

Notes

1. If you return TRUE in Page_Exporting event (see above), default export will be used and this
event will NOT be called.
2. If Custom Templates is used (see Custom Templates), this event may be overridden. You can
disable using Custom Templates for report, see example for Page_Load above.

Example

Export a record with custom code if export to Excel (not PhpSpreadsheet)

function Row_Export($rs) {



}

Page_Exported This event will be called after the page is exported. You can use this event to add your additional code to
the end of the file to be exported.

Note If Custom Templates is used (see Custom Templates), this event may be overridden. You
can disable using Custom Templates for report, see example for Page_Load above.

Example

Add a footer to the export document if export to Excel (not PhpSpreadsheet)

function Page_Exported() {



}

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 31 of 47

Page_Importing This server event allows you to modify the Import options before the import process begins. The first
argument is the data reader and the second argument is an array containing the import options. You can
also return FALSE to skip the import.

The options (accessed by $options["<value>"]) you can change during Page_Importing are:
maxExecutionTime - Maximum execution time for import
activeSheet - Active spreadsheet for import (default is 0, zero-based)
headerRowNumber - Header row number (default is 0, zero-based)
headers - Header array (default is empty array)
offset - Offset to start import (default is 0, zero-based)
limit - Number of records to import (default is 0, which means all records)
inputEncoding - Input encoding for data (CSV only)
delimiter - Delimiter for data (CSV only)
enclosure - Quote character for data (CSV only)

Example 1

Import selected records only

$options["offset"] = 10; // Skip the first 10th records


$options["limit"] = 5; // Import the next 5 records

Example 2

The spreadsheet contains pure data only. Supply the header manually.

$options["headers"] = ["CategoryName", "Description"];

Example 3

Change input encoding, delimiter and enclosure for CSV file

$options["inputEncoding"] = "CP1252"; // Use CP1252 for input encoding

$options["delimiter"] = ";"; // Semi Colon for delimiter

$options["enclosure"] = "'"; // Single Quote for enclosure

Row_Import This server event is executed before a record is imported. The first argument is an array containing the
data to be imported and the second argument is an integer containing the current import record count.
You can return FALSE to skip the import.

Example 1

Modify data before import

$row["Trademark"] = ExecuteScalar("SELECT ID FROM trademarks WHERE Trademark ='" . AdjustSql


($row["Trademark"]) . "'"); // Get Trademark ID from trademarks table

Example 2

Validate input data

if (intval($row["Quantity"]) > 100) // Quantity must be <= 100

return FALSE; // Skip import

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 32 of 47

Page_Imported This server event is executed after import is completed. The first argument is the data reader and the
second argument is an array containing the import results.

The data available in the results array are (accessed by $results["<value>"]):


file - File name of the imported file
totalCount - Total records imported
successCount - Total records imported successfully
failCount - Total records imported unsuccessfully
failList - Array containing failed imports and reasons

Example

Write audit trail for import

$msg = "imported " . $results["totalCount"] . " records (successful: " . $results


["successCount"] . " / failed: " . $results["failCount"] . ") from " . $results["file"]; // Set
up import message

WriteAuditTrail("log", DbCurrentDateTime(), ScriptName(), CurrentUserID(), $msg, CurrentUserIP


(), "", "", "", ""); // Write audit trail

Table-Specific -> Multi-Update Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default after updating records user is redirected back to the List page. You can change that by using
this event.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. See description of Form_CustomValidate for Add/Copy page above.

Table-Specific -> Report Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 33 of 47

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Table-Specific -> Search Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the List page after the search criteria is processed. You can change that
by using this event.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. See description of Form_CustomValidate for Add/Copy page above.

Table-Specific -> View Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Page_Exporting This event will be called before the page is exported. You can use this event to add your additional code
to the beginning of file to be exported. Return FALSE to skip default export and use Row_Export event

Note If Custom Templates is used (see Custom Templates), this event may be overridden. You
can disable using Custom Templates for report, see example for Page_Load above.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 34 of 47

Row_Export If you return FALSE in Page_Exporting event (see above), this event will be called when a row is
exported for you to export in your own code. The argument ($rs) is an array of the record to be
exported. The values are unformatted database values. If you want to export formatted values, use

Note If Custom Templates is used (see Custom Templates), this event may be overridden. You
can disable using Custom Templates for report, see example for Page_Load above.

Page_Exported This event will be called after the page is exported. You can use this event to add your additional code to
the end of the file to be exported.

Note If Custom Templates is used (see Custom Templates), this event may be overridden. You
can disable using Custom Templates for report, see example for Page_Load above.

Table-Specific -> Preview Page

Page_Load This event will be called after connecting to the database.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called before closing database connection.

Page_DataRendering This event will be called before the page content is outputted. You can use this event to add content at
the top of page content.

Page_DataRendered This event will be called after the page content is outputted. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Other -> Default Page

Page_Load This event will be called at the beginning of the page.

Page_Unload This event will be called at the end of the page.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the default page (e.g. index.php) after successful login. You can change
that by using this event.

Other -> Login Page

Page_Load This event will be called at the beginning of the page.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called at the end of the page.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 35 of 47

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the default page (e.g. index.php) after successful login. You can change
that by using this event.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

User_LoggingIn This event will be called before validating the username and password.

User_LoggedIn This event will be called after the user login.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. Inspect the HTML source of the page in your browser to view the form element names.

An argument $customError is passed to the event, you can add your error message and return FALSE if
the form values do not pass your validation.

User_LoginError This event will be called if the user fail to login.

Other -> Logout Page

Page_Load This event will be called at the beginning of the page.

Page_Unload This event will be called at the end of the page.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the default page (e.g. index.php) after successful login. You can change
that by using this event.

User_LoggingOut This event will be called before user logout.

User_LoggedOut This event will be called after user logout.

Other -> Registration Page

Page_Load This event will be called at the beginning of the page.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called at the end of the page.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the default page (e.g. index.php) after successful login. You can change
that by using this event.

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 36 of 47

Email_Sending This event is fired before the email notification is sent. You can customize the email content using this
event. Email_Sending event has the following parameters:

$email - the email object instance which contain all the information about the email to be sent. It is an
instance of the Email class (see below).
$args - an array which contains additional information. For registration page, the new record in the data
type of a recordset can be accessed by $args["rs"].

Return FALSE in the event if you want to cancel the email sending.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. See description of Form_CustomValidate for Add/Copy page above.

User_Registered This event is fired after successful registration of a new user. Argument is a recordset of the new record
in the user table.

User_Activated This event is fired after activating a new user (if user activation is required, see Security Settings).
Argument is a recordset of the new record in the user table.

Other -> Change Password Page

Page_Load This event will be called at the beginning of the page.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called at the end of the page.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the default page (e.g. index.php) after successful login. You can change
that by using this event.

Email_Sending This event is fired before the email notification is sent. You can customize the email content using this
event. Email_Sending event has the following parameters:

$email - the email object instance which contain all the information about the email to be sent. It is an
instance of the Email class (see below).
$args - an array containing additional information. For Change Password page, the old data of the
records in the data type of recordset can be accessed by $args["rsold"], the new data of the records in
the data type of recordset can be accessed by $args["rsnew"].

Return FALSE in the event if you want to cancel the email sending.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. Inspect the HTML source of the page in your browser to view the form element names.

An argument $customError is passed to the event, you can add your error message and return FALSE if
the form values do not pass your validation.

Other -> Password Recovery Page

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 37 of 47

Page_Load This event will be called at the beginning of the page.

Page_Render This event will be called before outputting HTML for the page. You can use this event to make some last
minute changes to the page before it is outputted.

Page_Unload This event will be called at the end of the page.

Page_DataRendering This event will be called after the header.php is included. You can use this event to add content at the
top of page content.

Page_DataRendered This event will be called before the footer.php is included. You can use this event to add content at the
bottom of page content.

Page_Redirecting This event will be called before redirecting to other page. Event argument is the URL to be redirected to.

By default user is redirected to the login page after successful login. You can change that by using this
event.

Email_Sending This event is fired before the email notification is sent. You can customize the email content using this
event. Email_Sending event has the following parameters:

$email - the email object instance which contain all the information about the email to be sent. It is an
instance of the Email class (see below).
$args - an array containing additional information. For Password Recovery Page, the old data of the
records in the data type of recordset can be accessed by $args["rs"].

Return FALSE in the event if you want to cancel the email sending.

Message_Showing This event is fired before the message stored in the session variable is shown. You can use this event to
change the message which is passed to the event as argument.

Form_CustomValidate This event is fired after the normal form validation. You can use this event to do your own custom
validation. Inspect the HTML source of the page in your browser to view the form element names.

An argument $customError is passed to the event, you can add your error message and return FALSE if
the form values do not pass your validation.

User_RecoverPassword This event is fired after the password is recovered. Argument is a recordset of the user's record in the
user table.

Client Scripts
In general, each page has two blocks of JavaScript:

Client Script - the first block of JavaScript to be included at the beginning of the page, you can put your JavaScript variables and
functions there. The View Tag (for display) and Edit Tag (for input) of the fields supports Custom Attributes (See Field Setup) so you can
add your own attributes to work with your own JavaScript included here.

Startup Script - the second block of JavaScript to be included at the end of the page, you can put code here to "start up" your
JavaScript.

Note In the following table, the <fieldname> in code represents the field variable name. In general, if the field name is
alphanumeric, field variable name is same as the field name. Otherwise, spaces are replaced by underscores, and other non
alphanumeric characters are replaced by their hexadecimal string representation of their unicode value. If the variable is a reserved
word or starts with a digit, it will be prepended with an underscore. If in doubt, always inspect HTML source in your browser to
check the actual id, name, and other attributes of the elements.

Global -> Pages with header/footer

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 38 of 47

Client Script The script will be placed in the header and therefore included in all pages with header.

Note This event is NOT related to the No header/footer setting in the Generate form (see Generate
Settings). Even if No header/footer is enabled, this event will also be fired.

Example

Set div.content-wrapper and footer min-width if advanced setting "Reset layout height" (see Advanced
Settings) is disabled

$(document).on("overflow", function(e, $form) { // "overflow" event (fired if content wider than


screen)
if (ew.IS_SCREEN_SM_MIN) // Not mobile
$(".content-wrapper, footer").css("min-width", "900px"); // Set min-width
});

Startup Script The script will be placed in the footer and therefore included in all pages with footer. This is a very useful event
which is fired for all pages with footer, you can almost do everything by changing the document DOM.

Note This event is NOT related to the No header/footer setting in the Generate form (see Generate
Settings). Even if No header/footer is enabled, this event will also be fired.

Global Code JavaScript code to be included in all pages with header. This may contain your global constants, variables and
functions.

Table-Specific -> Add/Copy page

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 39 of 47

Client Script The script will be placed after the header. This may contain your JavaScript variables and functions for the
page. You can also use this event to subscribe JavaScript events.

Example 1

Set Multi-Page (see Table Setup) properties

currentForm.multiPage.set({
//lastPageSubmit: true, // Enable submit button for the last page only
//hideDisabledButton: true, // Hide disabled submit button
//hideInactivePages: true, // Hide inactive pages
//hideTabs: true, // Hide all tabs
//showPagerBottom: true, // Show pager at bottom
//pagerTemplate: '<nav><ul class="pager"><li class="previous ew-prev"><a href="#"><span
class="icon-prev"></span> {Prev}</a></li><li class="next ew-next"><a href="#">{Next} <span
class="icon-next"></span></a></li></ul></nav>' // Pager template
lockTabs: true,// Set inactive tabs as disabled
showPagerTop: true // Show pager at top
});

Note The argument of the Set() method is a JavaScript object, if you modify above example, make sure
that the syntax is correct and that the last property value does not have a trailing comma.

Example 2

Subscribe the jQuery ajaxSend event before an Ajax request is sent (e.g. "updateoption", "autosuggest",
"autofill")

$(document).ajaxSend(function(event, jqxhr, settings) {


var data = settings.data;
//console.log(data); // Uncomment to view data in browser console, data is a query string and is
available for method="post" only
if (ew.get("ajax", data) == "updateoption" && ew.get("name", data) == "x_MyField") // Ajax
selection list
settings.data = data.replace("xxx", "yyy"); // Replace data with custom data
});

Example 3

Subscribe the "updatedone" event for Dynamic Selection Lists. The event fires after options of a child field is
updated.

$(document).on("updatedone", function(e, args) {


//console.log(args); // Uncomment to view the arguments in browser console
alert($(args.target).data("field") + " has been updated.");
});

Example 4

Subscribe the "create.editor" event for the field named "MyField" to change configuration of the HTML editors.
The event fires before the HTML editor is created.

$(document).on("create.editor", function(e, args) {


//console.log(args); // Uncomment to view the arguments in browser console
if (args && args.id == "x_MyField")
args.settings.height = "300px"; // Refer to HTML editor doc for details about the settings
});

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 40 of 47

Startup Script The script will be placed before the footer. This is a very useful event which you can almost do everything by
changing the document DOM.

PHPMaker provides a jQuery plugin .fields() for you to easily get/set the form values in client side events
such as Startup Script and Form_CustomValidate (see below)

$row = $(this).fields(); // return an object of all fields, each property is a jQuery object of the
input element(s) of a field
$field = $row["<fieldname>"]; // get jQuery object of the input element(s) of a field

You can also get the jQuery object for a field directly,

$field = $(this).fields("<fieldname>"); // return jQuery object of the input element(s) of a field

The jQuery object of the field is the jQuery object of the input element of the field. (Note that if Edit Tag of the
field is CHECKBOX or RADIO, the jQuery object may contain more than one elements.)

For example, if the page is an Edit page and the field is named "Field1" and it is a textbox, $(this).fields
("Field1") is equivalent to $("#x_Field1"). The advantages of using .fields() plugin is that the returned
jQuery object has the following additional methods:

.value .value() get field value, .value(value) set the field value.
([value])
Note This method is NOT the same as jQuery's .val() method. This method takes other
features (e.g. HTML editor, AutoSuggest) into consideration.

.visible .visible() get the visibility of the field, .visible(value) set the visibility of the field. The value
([value]) should be a boolean value.

Note
1. This method shows/hides the row of the field (i.e. the <tr> or the <div>), NOT
just the input element(s) of the field itself in Add/Edit page.
2. The setter is NOT the same as jQuery's .toggle() method.

.readonly Get/Set the readonly attribute of the input element. The value should be a Boolean value.
(value)
Note For <input type="text"> and <textarea> only.

.disabled Get/Set the disabled attribute of the input element. The value should be a Boolean value.
(value)
Note A disabled control's value is NOT submitted with the form. Use this carefully in
Add/Edit page or the field may be updated with an empty value.

.row() Get the jQuery object of the row (<tr> or <div>) of the field.

Notes
1. If Add/Edit page, the row is the <tr> or the <div> of the field.
2. If Grid page, the row is the <tr> of the record.

.toNumber() Get the input value as a JavaScript Number (by default the input value is string).

.toDate() Get the input value as a moment object (by default the input value is string).

.toJsDate() Get the input value as a JavaScript Date object (by default the input value is string).

Example 1

Add onchange event to the field named "Field1" in Add/Edit page to change other fields by jQuery
plugin .fields()

mk:@MSITStore:C:\Program%20Files%20(x86)\PHPMaker%202019\PHPMaker.ch... 07/08/2019
Server Events and Client Scripts Page 41 of 47

$("input[name='x_Field1']").change(function() { // Assume Field1 is a text input


if (this.value == "xxx") {
$(this).fields("FieldA").value("yyy"); // Set value to FieldA
} else {
$(this).fields("FieldB").value("zzz"); // Set value to FieldB
}
});

Example 2

Add onclick event to the field named "Field2" which uses CHECKBOX as Edit Tag.