0

我有一个简单的 HTML 表单,我想在其中使用 SSI 标记数据预先填充字段。这就是我所做的:

<form method="get" action="flashWrite.cgi">
<li><i>Network Configuration</i>
<br>
<table border="0">
<tr>
<td>IP Address:</td><td><input value="<!--#ipaddr-->" name="ipaddr"></td>
</tr>
<tr>
<td>Subnet Mask:</td><td><input value="<!--#snetmsk-->" name="snetmsk"></td>
</tr>
<tr>
<td>Gateway:</td><td><input value="<!--#gateway-->" name="gateway"> </td>
</tr></table>

结果有些令人失望:

标签以表格形式出现! 粗鲁!

没关系,这些 IP 值显示为 32 位整数,我稍后会处理。困扰我的是标签出现在表单中。有人能告诉我为什么在表单中,值被附加到标签而不是替换标签吗?

这发生在运行 LWIP 堆栈的 TI LM3S9D96 MCU 上。

4

4 回答 4

6

如果 html 表单代码在固件中,您将根据需要创建表单。

例如,

在 HTML 中:

<td>IP Address:</td><td><!--#form_ipaddr--></td>

在固件中,form_ipaddr 标签的代码:

sprintf(pcBuffer, "<input value="%s" name="ipaddr">", pcIpAddrString);
于 2012-10-30T14:53:38.427 回答
1

您需要定义 LWIP_HTTPD_SSI_INCLUDE_TAG 0。默认情况下包含标签,有助于调试。

于 2013-02-01T10:09:38.930 回答
0

HTML 注释不能(不应该)放在另一个标签中,因为它本身就是一个标签。就是这样。

但是,在这种情况下,这取决于您如何替换这些标签。

于 2012-06-22T15:45:46.113 回答
0

在 httpd_opts.h 中:

/** Set this to 0 to not send the SSI tag (default is on, so the tag will
* be sent in the HTML page */
#if !defined LWIP_HTTPD_SSI_INCLUDE_TAG
#define LWIP_HTTPD_SSI_INCLUDE_TAG           0
#endif

LWIP_HTTPD_SSI_INCLUDE_TAG设置为0

在这种情况下,不会发送标签,但会发送其值。

于 2021-05-27T14:05:31.383 回答