1

我在一种形式中有两个按钮,称为 main.php ....按钮是“查看”和“保存”。所以“查看”按钮将转到 view.php,然后“保存”按钮将转到到 save.php 页面。我的问题是我有一个脚本代码,当我单击“查看”时它的工作但是当我单击“保存”按钮时,它也重定向到 view.php 而不是 save.php 中。

这是我的代码:

<head>
function changeFrm(){
    document.getElementById("view").src="view.php";
    document.getElementById("save").src="save.php";
}
</head>
<form action="" method="post">
<input type="submit" name="view" value="View Building/s" onClick="changeFrm();">    
<input type="submit" name="save" value="Save" onClick="changeFrm();">
</form>

我也试过

<input type="submit" name="view" value="View Building/s" onClick="parent.changeFrm();"> 
<input type="submit" name="save" value="Save" onClick="parent.changeFrm();">

但还是一样...

这是保存的代码:

for($i=0; $i<sizeof($bldg);$i++)
                {
                    $query = "INSERT INTO tbldata(fldNetname,fldBldgName,fldPlaylist,fldDuration,fldFrom,fldTo) VALUES ('".$network."','".$bldg[$i]."','".$AdName."','".$duration."','".$from."','".$to."')";
                    mysql_query($query) or die (mysql_error());
                }
                echo "save";

对于查看页面。它只会再次加载 view.php

谢谢!

4

2 回答 2

1

我不确定你是怎么得到这段代码的,但它绝对没有做你认为它应该做的事情。

  1. 您的 JavaScript 代码不会更改任何内容,因为没有id值为viewor的元素save
  2. 元素没有有意义的src属性input,因此即使找到那些元素也不会产生影响。

当您单击submit按钮时,表单将发布到包含该按钮action的标记中的属性。form如果没有明确action的,form那么我想它会提交到当前加载的 URL(当前页面)。

submit您可能应该有一个“默认” ,而不是有两个按钮,该“默认”submit发布到默认页面(并让该页面action位于form元素中),然后有一个常规按钮用于通过 JavaScript“提交”到另一个页面. 像这样的东西:

<input type="submit" name="view" id="viewButton" value="View Building/s" /> 
<input type="button" name="save" id="saveButton" value="Save" />

然后对于您的 JavaScript,如下所示:

document.getElementById('saveButton').onclick = function() {
    var form = document.getElementById('theIDOfYourForm');
    form.action = 'save.php';
    form.submit();
}

这是未经测试的,因此可能需要对form. 但基本上这个想法是第二个按钮在技术上不是 asubmit所以它不会导致表单默认发布。相反,您在 JavaScript 中添加一个 click 事件处理程序,它会更改action表单并手动提交它。

另外值得注意的是我构建 JavaScript 的方式。我没有从 HTML 代码内联调用 JavaScript 函数,而是让 HTML 保持干净,而是在页面加载时“绑定”到按钮的单击事件。这是一种更“不显眼”的构建 JavaScript 的方式,它允许您更轻松地相互独立地修改 JavaScript 和 HTML。

于 2013-06-15T17:43:19.543 回答
0

你有没有尝试过?

    <input type="button" value="button1" onClick="this.form.action='your_first_action_url'; this.form.submit()">
    <input type="button" value="button2" onClick="this.form.action='your_second_action_url';this.form.submit()">

<form action="">

于 2013-06-15T17:36:14.633 回答