Я не уверен, правильно ли я вас понял, но вот решение, которое использует метку внутри ввода.
.my-awesome-input-wrapper {
display: inline-block;
padding: 0.2em;
background-color: white;
border: 1px solid #A9A9A9;
}
.label {
color: #A9A9A9;
}
.input {
padding: 0;
border: none;
outline: none;
background-color: transparent;
}
<form id="input" method="post" action="">
<div class="my-awesome-input-wrapper">
<label class="label" for="first_name" >First name:</label>
<input class="input" type="text" id="first_name" name="first_name">
</div>
<div class="my-awesome-input-wrapper">
<label class="label" for="last_name">Last name:</label>
<input class="input" type="text" id="last_name" name="last_name">
</div>
<input type='submit' value='Submit' name="submit" id='submitme'>
<p id="msg"></p>
</form>
<p id="result"></p>
Кстати: нормальное поведение для ввода - заполнитель текста исчезает, если вход содержит текст. В противном случае вам придется пересекать тексты, что затруднит чтение. Используйте элемент label для сохранения текста, но имейте в виду, что вы не размещаете его над напечатанным текстом / значением.