如何将变量从按钮的单击传递给 javascript 代码


How can I pass variable from the onclick of a button to the javascript code?

这段代码有效:

<script type="text/javascript">
function submit_form()
{
    if(confirm('My message here.'))
    {
        document.my_form_name.submit();
    }
}
</script>
<form action="index.php" method="post" name="my_form_name">
<input type="button" value="Skip" onclick="submit_form()">
<input name="submit" type="submit" value="Save and continue">
</form>

突出:

函数 submit_form()

公文。my_form_name.提交()

表单操作="索引.php" 方法="发布" 名称="my_form_name"

输入类型="按钮" 值="跳过" onclick="submit_form()"


这不起作用(但我希望它):

<script type="text/javascript">
function submit_form(variable)
{
    if(confirm('My message here.'))
    {
        document.variable.submit();
    }
}
</script>
<form action="index.php" method="post" name="my_form_name">
<input type="button" value="Skip" onclick="submit_form('my_form_name')">
<input name="submit" type="submit" value="Save and continue">
</form>

突出:

函数submit_form(可变)

公文。变量.提交()

表单操作="索引.php" 方法="发布" 名称="my_form_name"

输入类型="按钮" 值="跳过" onclick="submit_form('my_form_name')"


我对PHP还不错,但缺乏像样的JavaScript知识,所以如果有人能指出我正确的方向,我会很高兴!

为什么我需要 2 个按钮?好吧,我想在继续按钮的左侧显示跳过按钮(HTML 流中的第一个),但如果通过按 Enter 键提交表单,我不希望它成为默认操作,因此我让跳过按钮"只是"一个按钮(由 JavaScript 控制提交),只有继续按钮是"真正的"提交按钮......

当你使用document.variable时,它会查找名为variable的东西。如果你想让它寻找变量的值('my_form_name'),使用document[variable]

if(confirm('My message here.'))
{
    document[variable].submit();
}

@Blex提供了正确的答案。尽管我不喜欢内联JS,但以下内容可以节省一些键入并提高代码的可读性:

.HTML:

 <input type="button" value="Skip" onclick="submit_form(this)">
 <!-- use this instead of 'my_form_name' -->

.JS:

 variable.form.submit(); //instead of document[variable].submit();