获取SharePoint的内容:FormFields

时间:2011-12-07 21:16:17

标签: jquery sharepoint sharepoint-2007 formfield

我很抱歉,如果这是非常明显的,但是,我没有找到解释它的任何东西......使用SharePoint:FormField。我已经找到了无数关于如何在HTML中执行以下操作的资源,但是当我尝试将其应用于SharePoint jQuery中断时!!

所以我有一个SharePoint:FormField,如下所示

                     <tr>
                        <td width="190px" valign="top" class="ms-formlabel">
                            <H3 class="ms-standardheader">
                                <nobr>Request Type<span class="ms-formvalidation"> *</span>
                                </nobr>
                            </H3>
                        </td>
                        <td width="400px" valign="top" class="ms-formbody">
                            <SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="New" FieldName="requestType" __designer:bind="{ddwrt:DataBind('i',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@requestType')}"/>
                            <SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="requestType" ControlMode="New"/>
                        </td>
                    </tr>

而我只是试图获得SOMETHING的价值,任何东西都出现在警报中,但是它给了我一个未定义的警报

<script type="text/javascript">
$(document).ready(function(){
    var myVar = $("SharePoint:FormField[FieldName]").val()
    alert(myVar);
    // result "undefined"
});
</script>

请帮忙。非常感谢!

1 个答案:

答案 0 :(得分:1)

你的问题是javascript是在客户端运行的。如果您在网络浏览器中查看了网页的来源(查看来源),您会发现在其中的任何位置都找不到SharePoint:FormField。这是因为SharePoint:FormField根本不是HTML标记。该字段将被许多实际的html标记取代。 SharePoint:FormField在服务器端进行处理和替换。

您需要查看生成的标记,然后访问这些标记。