我有一个包含默认文本的表单字段,但我的用户必须在此默认文本后粘贴文件名。我怎样才能做到这一点?
/td><th width="200px">VideoLink</th><td><input type="text" id="VideoLink" name="VideoLink" value="<?php echo $video_rec['VideoLink']; ?>"></input></td>
$video_rec['VideoLink'] = "rtmp://test123.cloudfront.net/cfx/st/mp4:";
我的用户必须在该表单字段中粘贴文件名,但是在提交表单时该字段应包含rtmp-url + filename(test.mp4) Sample = rtmp://test123.cloudfront.net/cfx/st/mp4:TEST.mp4
我确实检查了此解决方案How to keep some default text in the input field?,但是当我右键单击以粘贴它时会删除默认文本。
答案 0 :(得分:0)
您不应该相信您的用户提供正确的输入,让他们按照自己的意愿粘贴,您可以用笔记或标签指导他们,例如。 请包含“rtmp://”位,但最终您应验证输入服务器端。
你可以试试这个:
$string = 'rtmp://test123.cloudfront.net/cfx/st/mp4:TEST.mp4';
//$string = 'test123.cloudfront.net/cfx/st/mp4:TEST.mp4';
// make sure to also strip any leading or trailing whitespace using trim()
// you can also process the input string even further before testing the protocol
if (!stripos($string)){
$url = 'rtmp://' . trim($string);
}
else{
$url = trim($string);
}
print $url;
答案 1 :(得分:0)
这样的事情:
<强> HTML:强>
<input type="text" id="defaultLink" name="defaultLink" class="defaultLink"
value="rtmp://test123.cloudfront.net/cfx/st/mp4:" disabled />
<input type="text" id="videoLink" name="videoLink" />
<input type="hidden" id="completeLink" name="completeLink" />
<input type="button" onclick="appendLink();" value="Append" />
<强> CSS:强>
.defaultLink {
min-width: 235px;
border: none;
background-color: transparent;
}
<强> JS:强>
function appendLink(){
var defaultLink = document.getElementById('defaultLink').value;
var videoLink = document.getElementById('videoLink').value;
var completeLink = defaultLink + videoLink;
alert(completeLink);
document.getElementById('completeLink').value = completeLink;
}
然后,您可以从completeLink请求属性/参数中获取完整的URL。