Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “提交”按钮,单击将其值更改为其他内容_Php_Javascript - Fatal编程技术网

Php “提交”按钮,单击将其值更改为其他内容

Php “提交”按钮,单击将其值更改为其他内容,php,javascript,Php,Javascript,也许很简单! 我是php程序员,我没有js方面的经验,但我必须为我的代码之一这样做 假设我在点击后页面中有sub1,它必须是sub1,但现在的值是sub2 <html> <head> <title>pharmacy</title> </head> <body> <form method="post" action="pharm

也许很简单! 我是php程序员,我没有js方面的经验,但我必须为我的代码之一这样做 假设我在点击后页面中有sub1,它必须是sub1,但现在的值是sub2

       <html>
        <head>
        <title>pharmacy</title>
        </head>
        <body>
        <form method="post" action="pharmacy.php">
        <?php
       //some code
            if(array_key_exists('update',$_POST)){
                //somecode
                }
        ?>
<input type="submit" name="update" value="<?php echo if(isset($_GET['update'])) ? 'Show' : 'Update' ?> ">
    </form>
    </body>
    </html>

药房

show
函数名在这里没有真正意义(imo),但您可以:

<input type="submit" name="sub" value="sub1" onclick="show(this)">

重要提示:

但这实际上并不能解决你的问题。单击按钮后,表单即被提交,这意味着浏览器将启动一个新请求,并加载一个新页面。因此,您对当前页面所做的每一项更改都将丢失

问题是:你想做什么

在我看来,您应该更改服务器端按钮的值。您必须跟踪提交了哪个表单(或者多久提交一次,我不知道您要做什么),并相应地设置按钮的值

更新:

我认为有几种可能解决这个问题:

  • 您可以继续使用JavaScript并通过发送和获取数据。由于您没有使用JavaScript的经验,我想说,在使用它之前,您必须先了解更多关于JavaScript和Ajax的知识

  • 您可以在URL中添加GET参数,通过该参数可以知道要为按钮显示哪个标签。例如:

    <form method="post" action="?update=1">
    

    show
    函数名在这里没有真正意义(imo),但您可以:

    <input type="submit" name="sub" value="sub1" onclick="show(this)">
    

    重要提示:

    但这实际上并不能解决你的问题。单击按钮后,表单即被提交,这意味着浏览器将启动一个新请求,并加载一个新页面。因此,您对当前页面所做的每一项更改都将丢失

    问题是:你想做什么

    在我看来,您应该更改服务器端按钮的值。您必须跟踪提交了哪个表单(或者多久提交一次,我不知道您要做什么),并相应地设置按钮的值

    更新:

    我认为有几种可能解决这个问题:

  • 您可以继续使用JavaScript并通过发送和获取数据。由于您没有使用JavaScript的经验,我想说,在使用它之前,您必须先了解更多关于JavaScript和Ajax的知识

  • 您可以在URL中添加GET参数,通过该参数可以知道要为按钮显示哪个标签。例如:

    <form method="post" action="?update=1">
    
    
    测试
    函数show()
    {
    document.getElementById(“sub”).value=“sub2”;
    返回true;
    }
    
    
    测试
    函数show()
    {
    document.getElementById(“sub”).value=“sub2”;
    返回true;
    }
    
    这应该可以

            function show(){
            document.getElementsByName('sub')[0].value = 'sub2';
            return false;
            }
    
    编辑:如果您不想让它提交表单,只需添加一个
    返回false
    ,但是您需要将
    一次点击
    从提交按钮更改为表单
    一次提交

    这应该可以

            function show(){
            document.getElementsByName('sub')[0].value = 'sub2';
            return false;
            }
    

    编辑:如果您不想让它提交表单,只需添加一个
    返回false
    ,但是您需要将
    一次点击
    从提交按钮更改为表单
    一次提交

    input
    元素没有
    id
    input
    元素没有
    id
    @Negin:这就是我刚才在回答中写的。如果你提交表格,将加载一个新页面。Felix我的一个代码有问题,第一次单击时是关于列表的,第二次单击时显示列表,第二次单击时显示更新的列表原因是:我想输入值:第一次和显示后显示列表:Update@Negin:您的代码没有问题,这就是表单提交的工作方式。提交表单时,浏览器将加载一个新页面(就像在地址栏中键入一个新URL)。使用JavaScript所做的更改仅适用于当前页面。JavaScript无法解决这个问题(可以使用Ajax,但我认为这有点太高级了)。正如你所知道的PHP,我会在服务器端解决这个问题。我在一小时前提出了问题,我使用了解决方案:here:@Negin:这就是我刚才在回答中写的。如果你提交表格,将加载一个新页面。Felix我的一个代码有问题,第一次单击时是关于列表的,第二次单击时显示列表,第二次单击时显示更新的列表原因是:我想输入值:第一次和显示后显示列表:Update@Negin:您的代码没有问题,这就是表单提交的工作方式。提交表单时,浏览器将加载一个新页面(就像在地址栏中键入一个新URL)。使用JavaScript所做的更改仅适用于当前页面。JavaScript无法解决这个问题(可以使用Ajax,但我认为这有点太高级了)。正如你所知道的PHP,我会在服务器端解决这个问题。我在一个小时前对它提出了质疑,我使用了解决方案:这里:它像Felix一样有这个问题,只是时间很短!Niklas当我添加脚本时,它不能转到if(array_key_存在)为什么?Niklas当我使用onsubmitit时,它不会显示我更改的值它有一个像Felix一样的问题,只是在很短的时间内!Niklas当我添加脚本时,它不能转到if(array_key_存在)为什么?Niklas当我使用onsubmit时,它不会显示我更改的值
            function show(){
            document.getElementsByName('sub')[0].value = 'sub2';
            return false;
            }