Auto submit record in editable grid form

How do I auto submit (add) record in editable grid form after a specified field? My talble has these fields : part_no, descrip, quan, price, total, cost. And I want the form to auto add record after on_event : price_blur.

On SC7, I use the following javascript method :

var n = F1.elements[“sc_contr_vert”].value;
n = (n - 1);
findPos(this);
nm_atualiza_line(‘incluir’, n);
document.F1.partno.focus();

and it worked.

But SC9 form doesn’t seem do work. Please help.

For anyone who still needs it.

Paste this code onLoad

// 1. Obtener el nombre real de la aplicación generado por Scriptcase
$app_name = $this->Ini->nm_cod_apl; 

// 2. Definir el nombre del campo que disparará el guardado al perder el foco (onBlur)
$campo_trigger = 'cantidad'; // Cámbialo si tu campo tiene otro nombre exacto (en minúsculas normalmente)

// 3. Inyectar el Javascript cerrando temporalmente PHP
?>
<script>
    $(function(){
        // Sobrescribir el evento onBlur nativo del campo
        window['sc_<?php echo $app_name; ?>_<?php echo $campo_trigger; ?>__onblur'] = function(oThis, iSeqRow) {
            
            // 1. Ejecutar validaciones y estilos nativos de SC
            if (typeof window['do_ajax_<?php echo $app_name; ?>_validate_<?php echo $campo_trigger; ?>_'] === 'function') {
                window['do_ajax_<?php echo $app_name; ?>_validate_<?php echo $campo_trigger; ?>_'](iSeqRow);
            }
            scCssBlur(oThis, iSeqRow);
            
            // 2. Lógica de Autoguardado
            // Es una nueva línea (Inserción)
            if (typeof iAjaxNewLine !== 'undefined' && iAjaxNewLine !== '' && iSeqRow == iAjaxNewLine) {
                $("#sc_ins_line_" + iSeqRow).click(); 
            } 
            // Es una línea existente
            else {
                // Solo actualiza si hubo cambios reales
                if (typeof scFormHasChanged !== 'undefined' && scFormHasChanged == true) {
                    $("#sc_upd_line_" + iSeqRow).click();
                } else {
                    // Si no hubo cambios, cierra el modo edición de esa fila
                    $("#sc_cancelu_line_" + iSeqRow).click();
                }
            }
        };
    });
</script>
<?php