2017-04-26 1 views
-1

Ich habe ein Formular mit einem Textfeld, das ein Attribut schreibgeschützt hat. Das ist keine große Sache, aber ich dachte, ich würde fragen, also gibt es eine Möglichkeit, diese Textbox so zu machen, dass der Benutzer sie nicht auswählen und ihren Cursor darin setzen kann?Make ReadOnly Textfeld nicht auswählbar

Das deaktivierte Attribut tut das, aber dann wird dieses Textfeld nicht mit dem Formular gesendet.

Gibt es dafür eine js/jquery Lösung?

SNIPPET


<form> 
    <div class="col-md-9"> 
     @Html.EditorFor(model => model.Time, new { htmlAttributes = new { @class = "form-control clear-textbox create-form-txtbox time-txtbox", @readonly = "readonly" } }) 
     @Html.ValidationMessageFor(model => model.Time, "", new { @class = "text-danger" }) 
    </div> 

    <input type="submit" value="Submit" /> 
</form> 

Jede Hilfe sehr geschätzt wird.

+0

@StephenMuecke ahh das funktioniert. danke, post als Antwort und ich werde akzeptieren –

Antwort

-1

I habe Stephens Kommentar als Antwort verwendet und es funktioniert.

Ich habe ein verstecktes Eingabefeld erstellt, um es an den Server zu senden, aber der Benutzer wird nur das deaktivierte Textfeld mit dem Wert sehen, den dieses ausgeblendete Eingabefeld enthält.

0

Versuchen Sie dies. Es funktioniert für mich. Ersetzen Sie @ Html.EditorFor mit diesem Steuerelement.

<input type="text" value="@Model.Time" id="Time" name="Time" class="form-control" readonly /> 
+0

Das ist, was auf der Seite bei der Verwendung von @ Html.EditorFor rendert –

0

Verwenden Inline onkeydown="return false;" Attribut

oder wenn Sie eine Javascript-Lösung für jede Javascript

$('#someId').keydown(function(e) { 
    e.preventDefault(); 
    return false; 
}); 
0

Es besteht keine Notwendigkeit wollen. Sie können nur einen versteckten Eingang für die Unterkunft zählen und dann ein behindertes Textbox (oder einfach nur den Text in einem Element gestylt wie eine Textbox sehen) machen

// hidden input so the value is submitted 
@Html.HiddenFor(m => m.Time) 
// disabled textbox to display the value and prevent any interaction 
@Html.EditorFor(m => m.Time, new { htmlAttributes = new { disabled = "disabled, @class = "form-control clear-textbox create-form-txtbox time-txtbox" } }) 

Hinweis gibt darunter keinen Punkt @Html.ValidationMessageFor() ist

Verwandte Themen