在onClick中带有正斜杠的HTML提交按钮

时间:2018-10-17 16:28:04

标签: javascript html input onclick submit

我有一个非常简单的表单,在输入按钮的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值传递给“节拍/ Sta”

2 个答案:

答案 0 :(得分:0)

在包括html在内的编程语言中,符号通常被用作“特殊字符”,这意味着它们不再被视为简单字符,而是具有特定功能。 想想您在每个标签(<和>)周围使用的符号。

正如您在自己的代码中看到的那样,“ /”通常用于关闭现有标签(例如)。这使您知道html中的“ /”不是简单的正斜杠,而是特定的“函数”。

如果要将特殊字符用作字符串,变量名或其他部分,请使用。您需要执行称为转义的角色。转义表示让代码知道您没有使用与所述字符关联的特殊功能,而是希望将该字符用作普通字符。

在html中,您必须使用特殊代码替换特殊字符。 在此页面上查看HTML转义字符列表: HTML escape characters

与javascript相同,您需要使用一些东西来让代码知道您想使用'/'作为简单字符。检查此链接以了解如何在JS中进行转义:JS escape character

但是,根据经验,请尽量避免使用特殊字符。正如评论中已经提到的,“ _”(下划线)是一个很好的选择。

答案 1 :(得分:0)

您可以使用

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>

但是最好避免在名称和标识符中使用特殊字符