2

我有一个 html 链接,可在新窗口中打开Smartsheet表单,以便我们的在线客户填写表单。

我想将现有表单中的 TextField(产品名称或产品代码)的值传递给我的 smartsheet 表单。这将对我的客户有所帮助,因为他们不必再次编写产品名称或产品代码。

我有以下 javascript 来生成链接到 Smartsheet 表单的 URL。

<script type="text/javascript">// <![CDATA[
var productName="productName.firstChild.nodeValue";
var sampleLink= "Order Sample!";
document.write(sampleLink.link("https://app.smartsheet.com/b/form?EQBCT=fbab5300a6d74cc58ae6326e267b3c4f/label.clsCaptionBold.clsFieldLabel/79019814="+productName));
// ]]></script>

TextField 的 HTML 代码如下:

<div class="clsField clsTextField"><label onclick="" class="clsCaptionBold clsFieldLabel" for="79019814">Product Name</label><br>
<input type="text" id="79019814" name="79019814" maxlength="4000" value=""></div>

我不知道我的 javascript 代码是否正确,但是当我单击页面中的链接时,我收到以下消息:

您尝试访问的表单不再处于活动状态

将数据发送到 Smartsheet 表单的正确方法是什么?

4

1 回答 1

1

我可以在Smartsheet 表单中自动填充表单数据吗?

是的!:-)

如何在 Smartsheet 表单中填充表单数据?

选项 1:在表单中设置默认值

如果表单数据始终相同,您可以在 Smartsheet 的表单编辑器中设置默认值。下面的屏幕截图通过将数量的默认值设置为 1 给出了一个示例。

通过表单编辑器的默认 Smartsheet 表单值

选项 2:在链接中传递一个值

通过修改链接并在 URL 中传递值,可以将默认值发送到表单。这可以通过使用键的字段标题(下方红色)来完成。例如,如果我的表单如下图所示,我可以通过修改表单 URL 并将 &Quantity=2 添加到 URL 的末尾(注意它区分大小写)来传递数量。

完整的 URL 类似于 https://app.smartsheet.com/b/form?EQBCT=ded979748e9a4a200ff56a46a6e3afae& Quantity=2

通过 url 设置表单值

此外,字段标题可能包含空格或其他特殊字符,因此对这些进行URL 编码也很重要。例如,如果我想在 URL 中传递“产品名称”,我会将&Product%20Name=laptop添加到 URL。

回答原始问题

要回答原始问题,您将希望您的 URL 如下所示以发送Product Name

 https://app.smartsheet.com/b/form?EQBCT=fbab5300a6d74cc58ae6326e267b3c4f&Product%20Name=driveway

此 url 可以通过使用 javascript 构建 URL 或通过您自己的自定义表单传递数据来动态生成。由于您在示例中使用了表单,因此我将展示该方法(不需要 javascript)。

<form action="https://app.smartsheet.com/b/form" method="GET" >
    <input type="hidden" name="EQBCT" value="fbab5300a6d74cc58ae6326e267b3c4f" />
    <label for="productName">Product Name</label>: 
    <input type="text" name="Product Name" value="">
    <input type="submit" name="Send" />
</form>

请注意,我添加了一个隐藏元素,其中包含原始 URL 中的 EQBCT 键。

于 2014-05-15T18:46:34.280 回答