Questions and discussion about developing processes and programming in PHP, JavaScript, web services & REST API.

Moderator: amosbatto

By AbbesMA
#795022
Hi,

I have a grid and a text column in this grid, i would like if i click on a row in this column to execute à Javascript function.

Thanks
User avatar
By amosbatto
#795056
You can use JavaScript code like this in your DynaForm to set an event handler for a column in a grid:
Code: Select all
var gridId  = "clientList"; //set to the ID of the grid
var fieldId = "lastName";  //set to the ID of the field in grid

//set click event handler when the DynaForm loads for any existing rows in the grid:
var nRows = $("#"+gridId).getNumberRows();

for (var i = 1; i <= nRows; i++) { 
  $("#\\["+gridId+"\\]\\["+i+"\\]\\["+fieldId+"\\]").click(clickHandler);
}

//set click event handler when a new row is added:
$("#"+gridId).onAddRow(function(aNewRow, oGrid, rowIndex) {
  $("#\\["+gridId+"\\]\\["+rowIndex+"\\]\\["+fieldId+"\\]").click(clickHandler);  
});

//click event handler function to display an alert if the field is left empty:
function clickHandler() {
  var rowNo = $(this).prop("id").match(/\]\[(\d+)\]\[/)[1]
  var val = $(this).find("input.form-control").val();
  if (val == '') {     
     alert("Row "+rowNo+" needs to be filled.");
  }
}
Change the ID of the grid and the field inside the grid to match your DynaForm. Here is a sample form with the code that you can import:
(2.5 KiB) Downloaded 143 times

Hi Amo, Just wondering if there is any update on […]

Hi All, I make a trigger to input from dynaform t[…]

Disable grid using JavaScript

You need to disable the upload button in a Modal[…]

SOAP-ERROR: Parsing WSDL

Hello there, We are using PM Enterprise version 3[…]