gpt4 book ai didi

google-apps-script - google.script.run 不工作 : Uncaught InvalidArgumentError: Failed due to illegal value in property: 0

转载 作者:行者123 更新时间:2023-12-01 16:02:32 28 4
gpt4 key购买 nike

My small form-handling script似乎以某种方式破坏了 google.run.script 。我这样调用它:

google.script.run.withSuccessHandler(worked).verwerkForm(this.parentNode);

运行脚本时出现以下错误:

Uncaught InvalidArgumentError: Failed due to illegal value in property: 0

以前的版本运行良好,我不知道我做了什么破坏了代码。说到错误消息或文档时,Google 应用程序脚本非常烦人。如果有人可以提供帮助,那就太好了!

作为引用,我还在这里提交了一个问题:google script issue report

我正在使用的索引文件:

> <?!= include('Stylesheet'); ?> <div class="container">    <h1
> id="PageHeader">World Basketball Coaches Community -
> Inschrijving/Application</h1> <img
> src="https://drive.google.com/a/apps.howest.be/uc?export=view&id=0B1m3_53fwZc8cmdKYjJvakk3WDA"/>
> <p id="required">* required</p> <form id="form">
> <div class="special">
> <p>Aanhef <span class="required">*</span></p>
> <label><input type="radio" name="voorvoegsel" value="Mr" checked />Mr</label>
> <label><input type="radio" name="voorvoegsel" value="Mrs"/>Mrs</label>
> <label><input type="radio" name="voorvoegsel" value="Miss"/>Miss</label>
> <span></span>
> </div>
> <div>
> <label for="voornaam">Voornaam /Prénom /First name <span class="required">*</span></label>
> <input type="text" name="voornaam" id="voornaam" placeholder="Voornaam"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="naam">Naam /Nom /Name <span class="required">*</span></label>
> <input type="text" name="naam" id="naam" placeholder="Naam"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="geboortedatum">Geboortedatum/ Date de naissance/ Date of birth <span class="required">*</span></label>
> <input type="date" name="geboortedatum" id="geboortedatum"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="nationaliteit">Nationaliteit / Nationalité / Nationaliteit <span class="required">*</span></label>
> <input type="text" name="nationaliteit" id="nationaliteit" placeholder="Nationaliteit"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="stad">Stad / Ville / City <span class="required">*</span></label>
> <input type="text" name="stad" id="stad" placeholder="Stad"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="land">Land / Pays / Country <span class="required">*</span></label>
> <input type="text" name="land" id="land" placeholder="Land"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="opleiding">Opleiding/ Education <span class="required">*</span></label>
> <select name="opleiding" id="opleiding" >
> <option value=" "></option>
> <option value="secondary school">Secondary school</option>
> <option value="high school">High school </option>
> <option value="bachelor">Bachelor</option>
> <option value="master">Master</option>
> <option value="university">University</option>
> </select>
> <span class="fout"></span>
> </div>
> <div>
> <label for="gsm">Gsm <span class="required">*</span></label>
> <input type="text" name="gsm" id="gsm" placeholder="+32 000 00 00 00"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="email">E-mail <span class="required">*</span></label>
> <input type="email" name="email" id="email" placeholder="someone@example.com"/>
> <span class="fout"></span>
> </div>
> <div>
> <label for="passport">Upload passport or ID copy (PDF or JPEG) <span class="required">*</span></label>
> <input type="file" name="passport" accept="image/jpeg,application/pdf" id="passport">
> <span class="fout"></span>
> </div>
> <div>
> <label for="color_passport">Upload color passport size photo (JPEG)<span class="required">*</span></label>
> <input type="file" name="pic" accept="image/jpeg" id="color_passport">
> <span class="fout"></span>
> </div>
> <div class="permission">
> <label for="akkoord">
> Ik geef mijn akkoord om deze gegevens aan FIBA over te maken in het kader van de "World Basketball Coaches Community".
> Je donne mon accord pour le transfert de mes données à la FIBA dans le cadre du projet "World Basketball Coaches Community"
> <span class="required">*</span>
> </label>
> <section id="checkPermission"><input type="checkbox" value="ja" id="akkoord"/> Ik ben akkoord</section>
> <span class="fout"></span>
> </div>
> <div>
> <label></label>
> <input type="button" value="Submit" onclick="submit()"/>
> </div> </form> </div> <div id="result" class='hide'>
> </div> <?!= include('testJavascript'); ?>

我正在使用的 TestJavascript:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
function submit() {
google.script.run.withSuccessHandler(worked).verwerkForm(this.parentNode);
}

function worked() {
$(".container").remove();
$("#result").html('<h1>Dank je uw registratie is een succes!</h1>').removeClass('hide');
}
</script>

和CSS:

<style>
body {
font-family: Verdana,Arial,sans-serif;
background-image: -webkit-gradient(
linear,
left top,
left bottom,
color-stop(0.08, #0D2C91),
color-stop(0.76, #0788B3)
);
background-image: -o-linear-gradient(bottom, #0D2C91 8%, #0788B3 76%);
background-image: -moz-linear-gradient(bottom, #0D2C91 8%, #0788B3 76%);
background-image: -webkit-linear-gradient(bottom, #0D2C91 8%, #0788B3 76%);
background-image: -ms-linear-gradient(bottom, #0D2C91 8%, #0788B3 76%);
background-image: linear-gradient(to bottom, #0D2C91 8%, #0788B3 76%);
}

h1#PageHeader {
margin-bottom:10px;
}

.container {
margin: 0 auto;
width: 80%;
border-left: 1px solid blue;
border-right: 1px solid blue;
background: white;
padding: 10px 10px;
text-align:center;
}

.container form{
display:inline-block;
}

.hide{
display: none;
}

h1 {
margin: 0 auto;
display: block;
}

img {
width: 20%;
margin: 0 auto;
display: block;
}

.required {
color: #ff4444;
font-weight: 400;
}

span.fout {
display:block;
color : #ff4444;
margin-left: 36%;
}

input.fout {
color : #ff4444;
border: 1px solid red !important;
}

form {
width:80%;
text-align:left;
}

form div {
margin: 10px 0;
display: block;
}

form div label {
box-sizing: border-box;
display: inline-block;
padding: 5px;
width: 35%;
font-weight: 800;
font-family: Calibri;
}

input, select {
display: inline-block;
width: 50%;
}

input[type="text"], input[type="date"], input[type="email"], #opleiding {
padding: 4px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

#opleiding {
width: 50.8%;
}

input[type="text"], input[type="date"], input[type="email"]{
height: 20px;
}

select{
height:29px;
}

.special p {
display: inline-block;
padding: 5px;
width: 32%;
font-weight: 800;
}

.special label {
width: 10%;
font-weight: 400;
display: inline-block;
}

#checkPermission {
font-family: Calibri;
font-weight:normal;
font-size: 16px;
display: inline-block;
}

.permission label {

}

input[type="checkbox"]{
width: 20px;
}

input:focus {
border :1px solid blue;
}

input[type="button"] {
color: #fff;
background-color: #428bca;
border-color: #357ebd;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}

#required {
color: #ff4444;
}
</style>

VerwerkForm 函数:

 function verwerkForm(e){
//check of alle input correct is
var statusObject = checkInput(e);
if(!statusObject.inOrde){
Logger.log("serversidecheck mislukt");
return false;
// throw Error("De input is niet correct. Volgende fouten werden gevonden: " + statusObject.foutboodschappen);
}

//sla de files in variabelen op en stel direct ook hun naam correct in
var fileBlobP = doeSetName(e, e.passport, "_passport");
var fileBlobPic = doeSetName(e, e.pic, "_passport_in_color");

//creating files
var docPass = DocsList.getFolderById(docP).createFile(fileBlobP);
var docColorPass = DocsList.getFolderById(docPic).createFile(fileBlobPic);

//maak gegevens om toe te voegen klaar, open dan de spreadsheet en voeg de rij met gegevens toe
var rijGegevens = [e.voorvoegsel, e.voornaam, e.naam, e.geboorteDatum, e.nationaliteit, e.stad, e.land, e.opleiding, e.gsm, e.email, docPass.getUrl(), docColorPass.getUrl(), new Date()];
SpreadsheetApp.openById(idSpreadsheet).getActiveSheet().appendRow(rijGegevens);
}

解决方案错误原来是因为我忘记在我的流程表单方法中包含成功案例的返回语句。最后一个简单的“return ok”就足以缓解这个问题。

最佳答案

GAS 无法传递 DIV,您需要以 form 形式发送,使用 $( "#form")[0] 或重组您的 HTML按钮的父级是表单,它上面可以有表格,但不能有 DIV。

关于google-apps-script - google.script.run 不工作 : Uncaught InvalidArgumentError: Failed due to illegal value in property: 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680509/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com