Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Submit form data into google spreadsheet

I am trying to add some data in form of html form table into a spreadsheet by matching some values.

But somehow Submit button does nothing.

Code.gs --->

function openInputDialog() {
    var html = HtmlService.createHtmlOutputFromFile('Index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
    SpreadsheetApp.getUi()
        .showModalDialog(html, 'Add Item');
}

function itemAdd(form) {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Sheet1");
    var lastRow = sheet.getLastRow();
    var match1 = sheet.getRange("B2").getValue();


    for (var i = 0; i = 300; i++)

    {
        if (lastRow - i == match1) {
            sheet.getRange(lastRow - i, 2, 1, 1).setValues(form.details);
            break;
        }

    }
}

index.Html ----->

<!DOCTYPE html>
<html>

<head>
    <base target="_top">
</head>
<br>
<form>
    Details:<br>
    <input type="text" name="details">
    <br> Quantity:
    <br>
    <input type="text" name="quantity">
    <br><br>
    <input type="button" value="Submit" onclick="google.script.run
            .withSuccessHandler(google.script.host.close)
            .itemAdd(this.parentNode)" />
</form>

</html>

I would really appreciate your help.

like image 415
Mask Avatar asked Mar 21 '26 02:03

Mask


1 Answers

Try this....Replace the itemAdd function

function itemAdd(form) {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Sheet1");
    var lastRow = sheet.getLastRow();
    var match1 = sheet.getRange("B2").getValue();

    var dataRange = sheet.getRange(1, 1,lastRow).getValues();
    for(var i=0;i<dataRange.length;i++){
        if(dataRange[i][0] == match1){
            sheet.getRange(i+1, 2).setValue(form.details)
        }
    }

}
like image 100
Ritesh Nair Avatar answered Mar 23 '26 16:03

Ritesh Nair



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!