HTML onClick 中带有正斜杠的提交按钮
HTML submit button with forward slash in the onClick
我有一个非常简单的表单,它在输入按钮 onClick 部分使用正斜杠。这是我们使用的应用程序的内置表单。该应用程序使用 IE 处理表单。
<BODY onLoad=setFocus(this)><FORM NAME=fMU METHOD=GET ACTION="http://HammerHead/MU">
<TABLE>
<input type="hidden" name="Beat/Sta" value="">
<tr>
<td COLSPAN=2>
<input type=SUBMIT onclick="this.form.Beat/Sta.value='B01'" value="BF1" />
</td>
<td></td>
</tr>
<TR>
<TD><INPUT TYPE=RESET VALUE="Clear" /></TD>
<td></td>
<td></td>
</TR>
</TABLE>
在表单中使用 "Beat/Sta" 值时,它不会传递 "B01" 值。因为“/”。我收到脚本语法错误代码 0.
我有另一个按钮在一个单独的表单中,它工作得很好,但看起来像下面这样,在 onClick 中没有“/”:
<input type=SUBMIT onclick="this.form.Location.value='home'" value="Home" />
该按钮工作正常并传递 "home"
的位置值
我尝试使用引号、双引号、多个正斜杠等...来尝试确保将 / 传递给函数,但似乎无法识别 "Beat/Sta" 值。我可以使用引号解决脚本错误,但它仍然不会将 B01 值传递给 "Beat/Sta"
在包括html在内的编程语言中,符号通常被用作"special characters",这意味着它们不再被视为简单的字符,而是具有特定的功能。
想一想您在每个标签周围使用的符号(< 和 >)。
正如您在自己的代码中看到的那样,“/”通常用于关闭现有标签(例如 )。这让您知道 html 中的 '/' 不是简单的正斜杠而是特定的 'function'.
如果你想使用特殊字符作为字符串的一部分,变量名或其他。你需要做一些叫做escape表示的字符。转义意味着让代码知道您没有使用与所述字符关联的特殊功能,而是想将该字符用作普通字符。
在html中您必须使用特殊代码来替换特殊字符。
在此页面上查看 HTML 转义字符列表:
HTML escape characters.
与 javascript 相同,您需要使用一些东西让代码知道您想要将“/”用作简单字符。检查这个 link 如何在 JS 中转义:JS escape character
但是,根据经验,尽量避免使用特殊字符。正如评论中已经提到的,“_”(下划线)是一个不错的选择。
您可以使用
document.getElementsByName('Beat/Sta')[0].value='B01'
您的整个代码将是:
<BODY onLoad=setFocus(this)><FORM NAME=fMU METHOD=GET ACTION="http://HammerHead/MU">
<TABLE>
<input type="hidden" name="Beat/Sta" value="">
<tr>
<td COLSPAN=2>
<input type=SUBMIT onclick="document.getElementsByName('Beat/Sta')[0].value='B01'" value="BF1" />
</td>
<td></td>
</tr>
<TR>
<TD><INPUT TYPE=RESET VALUE="Clear" /></TD>
<td></td>
<td></td>
</TR>
</TABLE>
但如果避免在名称和标识符中使用特殊字符会更好
我有一个非常简单的表单,它在输入按钮 onClick 部分使用正斜杠。这是我们使用的应用程序的内置表单。该应用程序使用 IE 处理表单。
<BODY onLoad=setFocus(this)><FORM NAME=fMU METHOD=GET ACTION="http://HammerHead/MU">
<TABLE>
<input type="hidden" name="Beat/Sta" value="">
<tr>
<td COLSPAN=2>
<input type=SUBMIT onclick="this.form.Beat/Sta.value='B01'" value="BF1" />
</td>
<td></td>
</tr>
<TR>
<TD><INPUT TYPE=RESET VALUE="Clear" /></TD>
<td></td>
<td></td>
</TR>
</TABLE>
在表单中使用 "Beat/Sta" 值时,它不会传递 "B01" 值。因为“/”。我收到脚本语法错误代码 0.
我有另一个按钮在一个单独的表单中,它工作得很好,但看起来像下面这样,在 onClick 中没有“/”:
<input type=SUBMIT onclick="this.form.Location.value='home'" value="Home" />
该按钮工作正常并传递 "home"
的位置值我尝试使用引号、双引号、多个正斜杠等...来尝试确保将 / 传递给函数,但似乎无法识别 "Beat/Sta" 值。我可以使用引号解决脚本错误,但它仍然不会将 B01 值传递给 "Beat/Sta"
在包括html在内的编程语言中,符号通常被用作"special characters",这意味着它们不再被视为简单的字符,而是具有特定的功能。 想一想您在每个标签周围使用的符号(< 和 >)。
正如您在自己的代码中看到的那样,“/”通常用于关闭现有标签(例如 )。这让您知道 html 中的 '/' 不是简单的正斜杠而是特定的 'function'.
如果你想使用特殊字符作为字符串的一部分,变量名或其他。你需要做一些叫做escape表示的字符。转义意味着让代码知道您没有使用与所述字符关联的特殊功能,而是想将该字符用作普通字符。
在html中您必须使用特殊代码来替换特殊字符。 在此页面上查看 HTML 转义字符列表: HTML escape characters.
与 javascript 相同,您需要使用一些东西让代码知道您想要将“/”用作简单字符。检查这个 link 如何在 JS 中转义:JS escape character
但是,根据经验,尽量避免使用特殊字符。正如评论中已经提到的,“_”(下划线)是一个不错的选择。
您可以使用
document.getElementsByName('Beat/Sta')[0].value='B01'
您的整个代码将是:
<BODY onLoad=setFocus(this)><FORM NAME=fMU METHOD=GET ACTION="http://HammerHead/MU">
<TABLE>
<input type="hidden" name="Beat/Sta" value="">
<tr>
<td COLSPAN=2>
<input type=SUBMIT onclick="document.getElementsByName('Beat/Sta')[0].value='B01'" value="BF1" />
</td>
<td></td>
</tr>
<TR>
<TD><INPUT TYPE=RESET VALUE="Clear" /></TD>
<td></td>
<td></td>
</TR>
</TABLE>
但如果避免在名称和标识符中使用特殊字符会更好