2013-08-07 3 views
1

참고 - 이것은 면도기 2보기를 사용하여 asp.net MVC 4 응용 프로그램입니다 ... 기본적으로 사용자가 데이터를 입력 할 때까지 기다리는보기에서 텍스트 상자가 있습니다. 이 데이터는 Db에 저장하려는 모델의 속성 값입니다.텍스트 상자의 기본값을 숨기기

이 텍스트 상자와 관련된 데이터는 모델에 [필수] 탭이 있습니다. 모델이 유효하지 않으므로이 텍스트 상자의 값이없는 모델을 저장할 수 없습니다.

@HtmlTextBoxFor 행에 @Value를 단순히 추가 할 수 있다는 것을 알고 있습니다. 즉, 값이 사용자에게 표시됩니다.

사용자가 볼 수있는 자리 표시 자 텍스트 만 표시되도록 "값"이 Db에 저장되도록 기본값이 숨겨져 있습니다. 아이디어가 있습니까?

텍스트 상자 ..

@Html.TextBoxFor(n => n.Article.Title, new { @class = "span4 m-wrap", rows = 1 , @placeholder = "Enter your News Articles main subject or Title here" , @Value = "Title"}) 

컨트롤러 다음과 같이 텍스트 상자에 ID를 추가 할 수 있습니다

if (ModelState.IsValid) 
    NewsArticle newNews = new NewsArticle(); 
    newNews.Title = newsArticle.Article.Title; 
+0

읽기 전용입니까? –

+1

제출을하기 전에 (그리고 검증 전에) JS를 사용하여 빈 필드를 채우지 않는 한, 자동 생성 된 클라이언트 측 유효성 검사 코드는 필요에 따라 실패합니다. –

+0

Codelgnoto - 아니요, 사용자가 기본값을 볼 수 없지만 모델 isValid가 Db에 저장되도록 사용됩니다. – mkell

답변

0

: 양식

@Html.TextBoxFor(n => n.Article.Title, new { @class = "span4 m-wrap", rows = 1 , @placeholder = "Enter your News Articles main subject or Title here" , @Value = "", @id="txtTitle"}) 

그런 다음 호출 JQuery와 기능은 이벤트

제출
$(function(){ 
    $("form").submit(function() { 
     if($("#txtTitle").val() == ""){ 
      $("#txtTitle").val("Default Value"); 
     } 
    }); 
}); 
+0

jquery 함수를 선택하지 않은 것처럼 보입니다. 마지막/div 태그 다음에 스크립트 태그 사이에 있습니다. 뭔가 빠졌습니까? – mkell

+0

jquery reference가 누락되었습니다. ' ' – NaYaN

+0

아니요, 레이아웃 페이지에서 가져 왔습니다. – mkell

관련 문제