Server IP : 103.118.17.23 / Your IP : 216.73.216.188 Web Server : Microsoft-IIS/10.0 System : Windows NT RESELLERPLESK22 10.0 build 20348 (Windows Server 2016) AMD64 User : IWAM_plesk(default) ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : E:/Inetpub/vhosts/mesa.org.in/httpdocs/assets/_core/php/examples/advanced_ajax/ |
Upload File : |
<?php require_once('../qcubed.inc.php'); class ExampleForm extends QForm { protected $lblArray; protected $txtArray; protected function Form_Create() { for ($intIndex = 0; $intIndex < 10; $intIndex++) { // Create the Label -- we must remember to explicitly specify the // Control ID so that we can code javascript against it // Note, we are using the regular QLabel and not our custom SelectableLabel // because we will now store the "which label is selected" information on the // client/javascript side. $this->lblArray[$intIndex] = new QLabel($this, 'label' . $intIndex); $this->lblArray[$intIndex]->Text = 'This is a Test for Item #' . ($intIndex + 1); $this->lblArray[$intIndex]->CssClass = 'renamer_item'; $this->lblArray[$intIndex]->ActionParameter = $intIndex; // Note that we now use a lblArray_Click function we write in JavaScript instead of // PHP to do the selection work. $this->lblArray[$intIndex]->AddAction(new QClickEvent(), new QJavaScriptAction('lblArray_Click(this)')); // Create the Textbox (hidden) -- we must remember to explicitly specify the // Control ID so that we can code javascript against it // Also, instead of making Visible false, we set Display to false. This allows // the entire control to render as "display:none", so that we can code javascript // to make it appear and disappear (via a call to .toggleDisplay()). $this->txtArray[$intIndex] = new QTextBox($this, 'textbox' . $intIndex); $this->txtArray[$intIndex]->ActionParameter = $intIndex; $this->txtArray[$intIndex]->Display = false; // Create Actions to Save Textbox on Blur or on "Enter" Key $this->txtArray[$intIndex]->AddAction(new QBlurEvent(), new QAjaxAction('TextItem_Save')); $this->txtArray[$intIndex]->AddAction(new QEnterKeyEvent(), new QAjaxAction('TextItem_Save')); $this->txtArray[$intIndex]->AddAction(new QEnterKeyEvent(), new QTerminateAction()); // Create Action to CANCEL/Revert Textbox on "Escape" Key $this->txtArray[$intIndex]->AddAction(new QEscapeKeyEvent(), new QAjaxAction('TextItem_Cancel')); $this->txtArray[$intIndex]->AddAction(new QEscapeKeyEvent(), new QTerminateAction()); } } protected function TextItem_Save($strFormId, $strControlId, $strParameter) { $strValue = trim($this->txtArray[$strParameter]->Text); if (strlen($strValue)) { // Copy the Textbox value back to the Label $this->lblArray[$strParameter]->Text = $strValue; } // Hide the Textbox, get the label cleaned up and ready to go $this->lblArray[$strParameter]->Display = true; $this->txtArray[$strParameter]->Display = false; $this->lblArray[$strParameter]->CssClass = 'renamer_item'; QApplication::ExecuteJavaScript('intSelectedIndex = -1;'); } protected function TextItem_Cancel($strFormId, $strControlId, $strParameter) { // Hide the Textbox, get the label cleaned up and ready to go $this->lblArray[$strParameter]->Display = true; $this->txtArray[$strParameter]->Display = false; $this->lblArray[$strParameter]->CssClass = 'renamer_item'; QApplication::ExecuteJavaScript('intSelectedIndex = -1;'); } } ExampleForm::Run('ExampleForm'); ?>