我正在构建一个允许企业通过hisname.mydomain.com访问其业务的应用程序。我现在正在构建注册表单。
无论如何,我今天遇到了squarespace并且他们有一个实际上就像我想要的注册表单。如果您浏览到squarespaces site并点击“免费试用”,则会在模式弹出窗口中显示其注册表单。
弹出窗口看起来像。 username的输入框有一个占位符文本username.squarespace.com
当您开始输入用户名时,.squarespace.com仍然可见。
如何复制此行为?
答案 0 :(得分:1)
他们可能会在您输入时动态地将.squarespace.com添加到用户名。
您可以尝试使用 onKeyUp 事件将文字添加到文本框中,如下所示:
<input type="text" id="fname" onkeyup="this.value = this.value.replace('.hello.com', '') + '.hello.com'" />
答案 1 :(得分:1)
Hiya如果有人有同样的问题,请设置为答案:)以及将来参考,因为您似乎最终可能会使用该解决方案:http://jsfiddle.net/NXAWW/
这将在文本框中保留部分水印,就像其他页面中的样本一样!有一个好的,
关键是这个
.keyup(function(){
var $input = $(this);
if ($input.val().trim() != '') {
$placeholder.val($input.val().trim() + $input.attr('placeholder').replace('test',''));
//$placeholder.val('');
} else {
$placeholder.val($input.val().trim() + $input.attr('placeholder').replace('test',''));
}
});
完整Jquery代码
// Create placeholder input to serve as background
var $test = $('#test');
var $placeholder = $test.clone().removeAttr('id').removeAttr('placeholder').addClass('placeholder').val($test.attr('placeholder'));
var $container = $('<span class="placeholder-container"></span>');
$container.insertAfter($test).append($test).append($placeholder);
// Basic styling
$container.css({
position: 'relative'
});
$test.css({
position: 'absolute',
left: 0,
top: 0,
zIndex: 100,
backgroundColor: 'transparent',
borderColor: 'transparent'
});
$placeholder.css('color', 'transparent');
// Behavior for focus and blur to achieve the visual effect
$test.focus(function(){
var $input = $(this);
var $placeholder = $('.placeholder', $input.parent());
$placeholder.css('color', '#e0e0e0');
}).blur(function(){
var $input = $(this);
var $placeholder = $('.placeholder', $input.parent());
if ($input.val() == '')
$placeholder.css('color', 'transparent');
}).keyup(function(){
var $input = $(this);
if ($input.val().trim() != '') {
$placeholder.val($input.val().trim() + $input.attr('placeholder').replace('test',''));
//$placeholder.val('');
} else {
$placeholder.val($input.val().trim() + $input.attr('placeholder').replace('test',''));
}
});
答案 2 :(得分:0)
当您键入用户名时,初始文本覆盖将替换为第二个,在您键入时动态定位。只需添加一个onkeyup
事件处理程序,它可以计算当前输入文本的宽度并相应地定位叠加层。
网站的css
不是很精彩,看看当你输入更大的用户名时会发生什么:
但是,可以通过将overflow: hidden
添加到父元素来轻松解决此问题。