【问题标题】:How can I pass variable from the onclick of a button to the javascript code?如何将变量从按钮的 onclick 传递到 javascript 代码?
【发布时间】:2015-05-08 11:04:30
【问题描述】:

此代码有效:

<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()

document.my_form_name.submit()

form action="index.php" method="post" name="my_form_name"

input type="button" value="Skip" 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(变量)

document.变量.submit()

form action="index.php" method="post" name="my_form_name"

input type="button" value="Skip" onclick="submit_form('my_form_name')"


我对 PHP 很满意,但缺乏良好的 JavaScript 知识,所以如果有人能指出我正确的方向,我会非常高兴!

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

【问题讨论】:

    标签: javascript php forms


    【解决方案1】:

    当您使用document.variable 时,它会查找名为variable 的内容。如果您希望它查找变量的值 ('my_form_name'),请使用 document[variable]

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

    【讨论】:

      【解决方案2】:

      @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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-19
        • 1970-01-01
        • 1970-01-01
        • 2019-03-06
        • 2022-11-26
        • 1970-01-01
        • 2017-10-23
        • 2011-04-02
        相关资源
        最近更新 更多