【问题标题】:Is it possible to submit values of a form to two pages from a button based on button name?是否可以根据按钮名称将表单的值从按钮提交到两个页面?
【发布时间】:2014-08-09 14:49:45
【问题描述】:

我有一个表单可以转到另一个页面并执行一些数据库操作。

 <form id="form1" method="post" action="goes_to_page1.php" onsubmit="return checkformvalidation();">
 <input type="text" id="field1" name="field1" onblur="checkvalue(this.value)">
 <input type="text" id="field2" name="field2">

  <button type="submit" id="butnid" >Go to page 1</button>
 <form>

<script>

function checkvalue(val)
{
 if(val==10)
  {
    document.getElementById("butnid").innerHTML = "Go to page 2";
  }

<script>

所以我的表单转到 gos_to_page1.php 并执行一些数据库操作。但是我在 field1 的 onblur 属性上调用了一个函数。因此,如果 field1 的值为 10,按钮的标签将更改为转到第 2 页。如果值为 10,我希望我的页面重定向到 gos_to_page2.php 并执行一些其他操作。甚至可以根据按钮的文本来做到这一点吗?

goes_to_page1.php

<?php
$f1=$_POST['field1'];
$f2=$_POST['field2'];
// submit to table1 in database
?>

goes_to_page2.php
<?php

$f1=$_POST['field1'];
$f2=$_POST['field2'];
// do some other operation in database
?>

【问题讨论】:

  • 不要基于客户端。将它建立在您进行了一些数据库操作的页面上
  • 你能说得更具体点吗? @ejay_francisco
  • 而不是调用函数onblur 让您的gos_to_page1.php 检查您的field1 的值。然后在该页面上执行 if else 以重定向,如果值为 10

标签: javascript php html button


【解决方案1】:

这是第1页..

$GLOBALS['f1']=$_POST['f1']; $_GLOBALS['f2']=$_POST['f2']; if($f1==10) {

header("location:goes_to_page2.php"); exit; }

在第 2 页

$f1= $GLOBALS['f1']; $f2=$GLOBALS['f2'];

现在form的值在page2的变量中..

这是正确的答案吗?

【讨论】:

    【解决方案2】:

    是的,您可以动态更改表单操作。就这样-

    if this
        document.<form-name>.action = "goes_to_page1.php";
    else if that
        document.<form-name>.action = "goes_to_page2.php";
    

    【讨论】:

    • 此代码应在 JavaScript 函数中给出并在表单的 onsubmit 属性上调用该函数。因为,我已经在调用另一个函数来检查 onsubmit 属性中字段的验证,是否有可能实现这个代码???是否可以在一个字段的一个属性中调用两个函数??? @Sahil Mittal
    • 您在问题中提到您必须在checkvalue 功能上进行检查,对吗?所以只需在checkvalue 函数中编写这个sn-p。这有意义吗?
    • checkval() 在输入 field2 之前被调用。所以如果我按照你说的做,我会在完全提交表格之前将我的表格重定向到另一个页面。 @Sahil Mittal
    • 哦,所以你只想重定向到checkval()上的其他页面?
    • 我想根据 checkval() @Sahil Mittal 的值在按钮单击时重定向到另一个页面
    【解决方案3】:
    if ($f1==10) { 
        header("location:goes_to_page2.php");
        exit;
    }
    

    你是这个意思吗?

    【讨论】:

    • 不..不是这个。如果在 textfield field1 中输入的值是 10,我想将其中包含值的整个表单提交到另一个页面(goes_to_page2.php)。我必须在 gos_to_page2.php 中进行一些数据库操作,如果值不是 10,那么我有在gos_to_page1.php 中执行一些数据库操作。 @red 2 分钟前 user3709308
    • 然后添加全局变量..我不确定语法我认为它是 $_GLOBAL[''];
    • 之后在page2中做db操作,使用$f1= $_GLOBAL['variablename'];或使用 $_SESSION['variablename']
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2016-07-31
    • 1970-01-01
    相关资源
    最近更新 更多