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