用户在评论框中输入数据并点击相应的提交btn。我试图将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>
答案 0 :(得分:0)
您使用的是$(CommentBoxId).val()
错误。
function SubmitButton(id, CompanyId, WorkId, CommentBoxId)
{
$('#'+CommentBoxId).val();
Functions.CommentBox(id, CompanyId, WorkId, $('#'+CommentBoxId).val(), Test);
}
请使用$('#'+CommentBoxId).val()
Functions.CommentBox
答案 1 :(得分:0)
您可以尝试重写这样的代码:
function SubmitButton(id, CompanyId, WorkId, CommentBoxId)
{
var commentBoxId = $('#'+ CommentBoxId).val();
Functions.CommentBox(id, CompanyId, WorkId, commentBoxId, Test);
}
** 更新 **
在转发器内部,文本框ID应与SubmitButton
的{{1}}参数相同:
CommentBoxId
答案 2 :(得分:0)
此行无效,因为您未存储val()
调用的结果
$('#'+CommentBoxId).val();
对Functions.CommentBox
的调用将为第四个参数设置一个空值,因为您没有为id添加哈希值。
试试这个:
var commentBoxIdVal = $('#'+CommentBoxId).val();
Functions.CommentBox(id, CompanyId, WorkId, commentBoxIdVal, Test);
答案 3 :(得分:0)
看起来您的输入的ID为“评论”,但您尝试在通话中使用“CommentId”。