3

ユーザーはコメント ボックスにデータを入力し、対応する送信ボタンをクリックします。ID、CompanyId、WorkId、CommentBoxId を分離コードに渡してレコードを更新しようとしています。これまでのところ、これはすべて正常に機能していますが、コメント ボックスに入力されたデータも渡したいと考えています。

JavaScript runtime error: Sys.Net.WebServiceFailedException: The server method 'CommentBox' failed with the following error: System.InvalidOperationException-- Invalid web service call, missing value for parameter: 'CommentBoxContents'.

id、CompanyId、WorkId、および CommentBoxId の値はすべて正しく渡されます。テキストボックスに入力されたものを渡すにはどうすればよいですか?ありがとうございました


編集:

<script type="text/javascript" language="javascript">
   var commentBoxData
   function SubmitButton(id, CompanyId, WorkId, CommentBoxId) 
   {
       var commentBoxData = $('#'+CommentBoxId).val();
        Functions.CommentBox(id, CompanyId, WorkId, commentBoxData);
   }
</script>

// リピーターの内部:

<th style="width:200px;">
     <input id="Comments" name='<%# GetIdOfCommentBox((int)Eval("id")) %>' 
             type="text" runat="server" value='<%# Bind("Comment") %>' />
    <input id="SubmitComments" type="button"
           onclick="SubmitButton('<%# Eval("id") %>','<%# Eval("CompanyId") %>',
                        '<%# Eval("WorkId") %>','<%# Eval("CommentId") %>');"  />
</th>
4

4 に答える 4

0

次のようにコードを書き直してみてください。

function SubmitButton(id, CompanyId, WorkId, CommentBoxId) 
{
   var commentBoxId = $('#'+ CommentBoxId).val();
   Functions.CommentBox(id, CompanyId, WorkId,  commentBoxId, Test);  
}

**更新**

SubmitButtonまた、リピーター内では、テキストボックスIDはのCommentBoxIdパラメーターと同じである必要があります。

<th style="width:200px;">
     <input id="CommentId" name='<%# GetIdOfCommentBox((int)Eval("id")) %>' 
             type="text" runat="server" value='<%# Bind("Comment") %>' />
    <input id="SubmitComments" type="button"
           onclick="SubmitButton('<%# Eval("id") %>','<%# Eval("CompanyId") %>',
                        '<%# Eval("WorkId") %>','<%# Eval("CommentId") %>');"  />
</th>
于 2013-03-12T11:32:54.877 に答える
0

val()通話の結果を保存していないため、この行は効果的ではありません

$('#'+CommentBoxId).val();

Functions.CommentBoxIDの前にハッシュを付けていないため、toの呼び出しでは4番目のパラメーターの値がnullになります。

これを試して:

var commentBoxIdVal = $('#'+CommentBoxId).val();
Functions.CommentBox(id, CompanyId, WorkId, commentBoxIdVal, Test);  
于 2013-03-12T11:33:24.280 に答える
0

入力のIDが「Comments」のようですが、呼び出しで「CommentId」を使用しようとしています。

于 2013-03-12T11:58:56.653 に答える
0

あなた$(CommentBoxId).val()は間違っているものを使用しています。

     function SubmitButton(id, CompanyId, WorkId, CommentBoxId) 
     {
         $('#'+CommentBoxId).val();

        Functions.CommentBox(id, CompanyId, WorkId,  $('#'+CommentBoxId).val(), Test);  
     }

$('#'+CommentBoxId).val()でご利用くださいFunctions.CommentBox

于 2013-03-12T11:31:59.880 に答える