2017-10-28 35 views
0

私はPreSaveAction(に保存する前にフォームを検証しようとしています2列 COLUMN1(数) column2の(数)Sharepointの2013カスタムリストPreSaveAction()

のリストを持っている)

カラム1が持っていますcolumn2より大きい値に設定する

次のコードをNewForm.aspxのスクリプトエディタWebパーツに挿入していますが、すべてのケースで偽の警告が発生します。これの明白な理由は何ですか?

<script language="javascript"> 
$(function() 
    { 
    var column1 = $("input[value='column1']").attr("title"); 
    var column2 = $("input[value='column2']").attr("title"); 
    }); 

    function PreSaveAction() 
    { 
    if (column1 <= column2) 
    { 
     alert("column1 has to be greater than column2"); 
     return false; 
    } 
    else{ 
     return true; 
     } 
    } 
</script> 
+0

あなたのjQueryのセレクタが無効である、あなたは、idで検索し、「(この '$のような制御値、何かを得るために必要な入力[ID * =カラム1] ").val()' – tinamou

答えて

0

こうしてあなたはjQueryのセレクタを変更する必要があるすべての

<script language="javascript"> 
var column1=0; 
var column2=0; 
$(function() 
    { 
    column1 = $("input[value='column1']").attr("title"); 
    column2 = $("input[value='column2']").attr("title"); 
    }); 

    function PreSaveAction() 
    { 
    if (column1 <= column2) 
    { 
     alert("column1 has to be greater than column2"); 
     return false; 
    } 
    else{ 
     return true; 
     } 
    } 
</script> 
0
  1. ファーストを試してみてください。
  2. あなたはdocument.ready上column1column2変数(つまり、$(関数())の値を設定しようとしている。代わりにあなただけのPreSaveAction機能でこれらの値を割り当てることができますが。

はコードの下に参照してください。I変更の上に作られています。このコードは、あなたのために働く必要があります。

<script language="javascript"> 

    function PreSaveAction() { 
     var column1 = $("input[title='column1']").val(); 
     var column2 = $("input[title='column2']").val(); 

     if (column1 <= column2) { 
      alert("column1 has to be greater than column2"); 
      return false; 
     } else { 
      return true; 
     } 
    } 
</script> 
関連する問題