2016-06-11 87 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

相關問題