2009-10-20 30 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> 
相关问题