Можно ли отправлять значения формы на две страницы с кнопки на основе названия кнопки?

#javascript #php #html #button

#javascript #php #HTML #кнопка

Вопрос:

У меня есть одна форма, которая переходит на другую страницу и выполняет некоторые операции с базой данных.

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

Итак, моя форма переходит в goes_to_page1.php и выполняет некоторые операции с базой данных. Но я вызвал функцию для свойства onblur field1. Итак, если значение поля1 равно 10, метка кнопки изменяется, чтобы перейти на страницу 2. И если значение равно 10, я хочу, чтобы моя страница перенаправлялась на goes_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
?>
  

Комментарии:

1. не основывайте это на стороне клиента. создайте его на странице, где вы выполнили некоторые операции с базой данных

2. Можете ли вы быть более конкретным?? @ejay_francisco

3.вместо вызова функции onblur создайте goes_to_page1.php проверьте значение вашего поля1. затем сделайте перенаправление if else на этой странице, если значение равно 10

Ответ №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";
  

Комментарии:

1. Этот код должен быть задан внутри функции JavaScript и вызывать эту функцию в свойстве onsubmit формы. Поскольку я уже вызываю другую функцию для проверки правильности полей в свойстве onsubmit, возможно ли вообще реализовать этот код??? Можно ли вызвать две функции в одном свойстве поля??? @Сахил Миттал

2. Вы упомянули в вопросе, что вы должны проверить это на checkvalue функции, верно? Так что просто напишите этот фрагмент внутри checkvalue функции. Имеет ли это смысл?

3. checkval() вызывается перед вводом field2 . Поэтому, если я сделаю, как вы говорите, я перенаправлю свою форму на другую страницу, прежде чем заполнять форму полностью. @Сахил Миттал

4. о, так ты просто хочешь перенаправить на другую страницу checkval() ?

5. Я хочу перенаправить на другую страницу при нажатии кнопки на основе значения из checkval() @Sahil Mittal

Ответ №3:

 if ($f1==10) { 
    header("location:goes_to_page2.php");
    exit;
}
  

вы это имели в виду?

Комментарии:

1. Нет .. Не это. Я хочу отправить всю форму со значениями в ней на другую страницу (goes_to_page2.php ) если значение, введенное в текстовом поле field1, равно 10. Я должен выполнить некоторые операции с БД в goes_to_page2.php amp; если значение не равно 10, то я должен выполнить некоторые операции с БД в goes_to_page1.php . @red 2 минуты назад пользователь3709308

2. затем добавьте глобальный variable..im не уверен в синтаксисе, я думаю, что это $_GLOBAL[«];

3. после этого выполните операцию с БД на странице 2 и получите значение формы, используя $ f1= $ _GLOBAL[‘variablename’]; или используйте $ _SESSION[‘variablename’]