2015-10-06 5 views
0

У меня есть поле формы с текстом по умолчанию, но мои пользователи должны вставить имя файла после этого текста по умолчанию. Как я могу это достичь?Поле формы (текст по умолчанию) + еще текст

/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-адрес + имя файла (test.mp4) Sample = RTMP: //test123.cloudfront. net/cfx/st/mp4: TEST.mp4

Я проверил это решение How to keep some default text in the input field?, но когда я щелкнул правой кнопкой, чтобы вставить его, удаляется текст по умолчанию.

+0

Почему ваш пользователь не может просто отправить имя файла? –

+0

Поместите текст по умолчанию в метку перед текстовым полем, и пользовательский текст будет добавлен в поле. Вам также нужно поместить текст по умолчанию в скрытое поле для обработки на стороне сервера. После этого добавьте оба значения. –

+0

после публикации concat it "rtmp: //test123.cloudfront.net/cfx/st/mp4/". $ _ POST ['VideoLink'] остерегайтесь проблемы безопасности, которые проверяют имя файла в безопасности , а для интерфейса вы можете установить ярлык для него –

ответ

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; 

} 

Затем, вы можете получить полный URL из запроса completeLink атрибута/параметра.

DEMO

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; 
Смежные вопросы