2016-06-11 59 views
0

我有一个叫做addcustomer.php的表单。它包含第一名,姓,手机字段。我也有这个表单上的2个按钮。用于保存数据的onr按钮和用于向客户发送短信的其他按钮。 我想当我点击第二个按钮3数据字段传递给另一个形式称为smsinfo.php。 现在保存数据的操作很好,但直接发送到smsinfo。此表单上没有数据。 smsinfo.php的2种不同的动作形式

<form method ="POST" name = "custform" action=""> 
<div class="cell_2_2"><label class="lblfields">Firstname:</label>&nbsp;<input type="text" name="firstname" autocomplete="off"/></div> 
<div class="cell_3_2"><label class="lblfields">Lastname :</label>&nbsp;<input type="text" name="lastname" autocomplete="off"/></div>  
<div class="cell_5_2"><label class="lblfields">Mobile :</label>&nbsp;<input type="text" name="mobile" autocomplete="off"/></div> 
<input type="submit" name="submit" value="Save"/> 
<input type="submit" name="sendsms" value="Sms"/> 

if (isset($_POST['submit'])) 
{ 
Saving code here 

} else if (isset($_POST['sendsms'])) { 
header("Location: smsinfo.php"); 
} 

这里代码:

<?php 
$Fname = $_REQUEST['firstname']; 
$Lname = $_REQUEST['lastname']; 
$Mob = $_REQUEST['mobile']; 
?> 
<html> 
<body> 
<form action="sendingsms.php" method="POST"> 
<input style="width: 100px;" name="firstname" type="text" value="<?php echo $firstname; ?>"/> 
<input style="width: 100px;" name="lastname" type="text" value="<?php echo $lastname; ?>"/> 
<input style="width: 100px;" name="mobile" type="text" value="<?php echo $mobile; ?>"/> 
</form> 
</body> 
</html> 

感谢我的英文不好

+0

header(“Location:smsinfo.php”);不发送数据 为什么不把短信内置于if(isset($ _ POST ['submit']))的else子句中? –

+0

如果您必须使用标头(“位置:smsinfo.php”)进行重定向,则可以将表单数据附加到标头中的URL(“位置:smsinfo.php”)。 – birraa

+0

你可以使用js吗? –

回答

-1

方式#所有与遗憾1

包括smsinfo.php文件,而不是重定向:

<?php 
    if ($_SERVER['REQUEST_METHOD'] != 'POST') { 
?> 
     <form method="POST" name="custform" action=""> 
      <div class="cell_2_2"> 
       <label class="lblfields">Firstname:</label>&nbsp; 
       <input type="text" name="firstname" autocomplete="off" /> 
      </div> 
      <div class="cell_3_2"> 
       <label class="lblfields">Lastname :</label>&nbsp; 
       <input type="text" name="lastname" autocomplete="off" /> 
      </div> 
      <div class="cell_5_2"> 
       <label class="lblfields">Mobile :</label>&nbsp; 
       <input type="text" name="mobile" autocomplete="off" /> 
      </div> 
      <input type="submit" name="submit" value="Save" /> 
      <input type="submit" name="sendsms" value="Sms" /> 
     </form> 
<?php 
    } elseif (isset($_POST['submit'])) { 
     //Saving code here 
    } elseif (isset($_POST['sendsms'])) { 
     include("smsinfo.php"); 
     exit; 
    } 
?> 

方法2

添加id属性到表单并提交按钮元素:

<form method="POST" name="custform" id="form-1" action="/" onclick="javascript:return false;"> 
    <div class="cell_2_2"> 
     <label class="lblfields">Firstname:</label>&nbsp; 
     <input type="text" name="firstname" autocomplete="off" /> 
    </div> 
    <div class="cell_3_2"> 
     <label class="lblfields">Lastname :</label>&nbsp; 
     <input type="text" name="lastname" autocomplete="off" /> 
    </div> 
    <div class="cell_5_2"> 
     <label class="lblfields">Mobile :</label>&nbsp; 
     <input type="text" name="mobile" autocomplete="off" /> 
    </div> 
    <input type="submit" name="save" id="button-submit" value="Save" /> 
    <input type="submit" name="sendsms" id="button-sms" value="Sms" /> 
</form> 

除了添加一些JavaScript代码来改变action属性上点击一个按钮,使用一个事件监听器:

<script type="text/javascript"> 
    document.getElementById("button-submit").addEventListener("click", function() { 
     document.getElementById('form-1').action = '/'; 
     document.getElementById("form-1").submit(); 
    }); 

    document.getElementById("button-sms").addEventListener("click", function() { 
     document.getElementById('form-1').action = '/smsinfo.php'; 
     document.getElementById("form-1").submit(); 
    }); 
</script> 

我最好会采用第二种方法。

也注意到,我改变了提交按钮与name="submit"属性name="save"避免使用JavaScript submit()法冲突。

+0

亲爱的雷沃,他们都没有工作。当我点击2按钮没有改变。 – unforgiven

+0

感谢您的代码示例,但它不是我想要的 – unforgiven

+0

请考虑向我展示如何实现这些方法。 @unforgiven – revo

相关问题