2009-10-20 32 views
0
<p>First Name <input type="text" name="first_name"> Last Name <input type="text" name="last_name"></p> 
<input type="hidden" name="screen_name" value="first_name + last_name"> 

如何採取什麼是輸入到FIRST_NAME和LAST_NAME字段,一起加入他們,所以當現場提交的SCREEN_NAME,它輸入適當的值爲screen_name字段?需要採取兩個文本字段值,並一起加入到另一場

我正在尋找PHP或jQuery解決方案。

這會做詭計嗎?

<?php $screen_name = $_POST["first_name"]." ".$_POST["last_name"]; ?> 

    <input type="hidden" name="screen_name" value="<?php print $screen_name; ?>" /> 
+0

只是澄清:在PHP代碼在服務器上的運行瀏覽器下載頁面的時間。如果用戶更改名字或姓氏,php代碼將不會再次運行,並且您的隱藏screen_name將始終爲空。將頁面發佈到服務器時,必須連接字符串。並確保你至少通過修剪它們來消毒它們。 – some 2009-10-20 14:34:44

回答

0

對於PHP(在服務器端):「。$ _ POST

$屏幕名= $ _POST [ 「如first_name」]」 [ 「的last_name」]

使用jQuery(客戶端側)你必須IDS的字段添加到更容易獲得他們:

<p>First Name <input type="text" name="first_name" id="first_name"> Last Name <input type="text" name="last_name" id="last_name"></p> 
<input type="hidden" name="screen_name" value="first_name + last_name" id="screen_name"> 

然後在表格上提交的事件(或輸入場變化事件)設置SCREEN_NAME字段值:

var screenNameVal = $.("#first_name").attr("value")+" "+$.("#last_name").attr("value"); 
$.("#screen_name").attr("value",screenNameVal); 
+0

@bucabay有一個非常重要的一點,雖然有人可以關閉Javascript並提交自己的屏幕名稱的值,所以雖然可能與jQuery提前做到這一點最好的PHP服務器端 – catsby 2009-10-20 14:16:56

+0

永遠不要相信用戶輸入。始終對其進行消毒。至少修剪它(在開始和結束時刪除空白)。即使javascript非常有用,但即使它不可用(用戶可能已禁用它),也要確保您的網頁儘可能多地工作。 – some 2009-10-20 14:24:52

+0

檢查你的jQuery,它不起作用 – 2009-10-20 14:25:15

3

你最好把screen_name全部放在一起。只需在PHP端連接來自first_name和last_name的值。

<?php 

$screen_name = $_REQUEST['first_name'].$_REQUEST['last_name']; 

?> 

如果使用JavaScript,有人可能只是禁用它,並給你一個網名,是不是真正的姓和名。

+1

建議:修剪first_name和last_name,因爲用戶可能先前在其中放置了空格(並且可能在名字和姓氏之間放置空格?)也許還要確保名和姓不包含31以下的字符,沒有特殊的字符,case-correction ... – some 2009-10-20 14:20:16

2

我同意它應該是服務器端,而只是回答你的問題:

var combinedName = $("input[name='first_name']").val() + $("input[name='last_name']").val(); 
$("input[name='screen_name']").val(combinedName); 
0

這是我用

<script type="text/javascript"> 
     $('input[name="firstname"], input[name="lastname"]').blur(function() { 
      $('input[name="fullname"]').val(function() { 
       return $('input[name="firstname"]').val() + ' ' + $('input[name="lastname"]').val(); 
      }); 
     }); 
    </script> 
相關問題