0

也许是一个非常简单的问题。

我怎样才能输入这段代码

<Query>
   <Where>
      <Eq>
         <FieldRef Name="Judge_x0020_1" />
         <Value Type="Text">mr. R. Sanches</Value>
      </Eq>
   </Where>
</Query>

来自 jscript 的变量,位于 mr 所在的代码区域。R.桑切斯写的。所以我的 jScript 包含一个我想替换 mr 的动态文本变量。R.桑切斯与。看看它在下面写着 THE JAVESCRIPT VAR 的地方:

我有 jScript 代码

<script src="/JavascriptMODS/jPointLoader.js"></script>
<script src="/JavascriptMODS/jPoint.userprofile.js"></script>
<SCRIPT type=text/javascript>
            // Picks the userfield it is going to search with
            var user = jP.getUserProfile();
            var userinfspvalue = user.Department;

            // removes the non breaking space at the end of the departmentfieldcontent
            var removenonbreakingspace = String.fromCharCode(160);
            userinfspvalue = userinfspvalue.replace(removenonbreakingspace,'');
</script>

Userinfspvalue 是我想使用的 var。

在 CAML 查询中

<Query>
   <Where>
      <Eq>
         <FieldRef Name="Judge_x0020_1" />
         <Value Type="Text">Userinfspvalue</Value>
      </Eq>
   </Where>
</Query>

jP.getUserProfile() 是什么?

代码(我没有创建它)。

/*
* name: jPoint.userprofile.js
* purpose: get user profile info from /_layouts/userdisp.aspx
* input: none
* visibility: public
* return: jP.UserProfile (object)
*   jP.UserProfile.Name
*   jP.UserProfile.Account
*   jP.UserProfile.Title
*   jP.UserProfile.EMail
*   jP.UserProfile.Notes
*   jP.UserProfile.AboutMe
*   jP.UserProfile.Picture
*   jP.UserProfile.Department
*   jP.UserProfile.JobTitle
*   jP.UserProfile.SipAddress
*   jP.UserProfile.SIPAddress
*
*   jP.UserProfile.FieldCount   //count of fields
*   jP.UserProfile.Fields       //array of field names
*   jP.UserProfile.Items[0].Name ... SipAddress
*
* use example: 
*   var usrprof = jP.getUserProfile(userID); //userID is optional 
*   var name = usrprof.Name; 
*   var email = usrprof.EMail;
*   var dept = usrprof.Department;
*/
(function(jP) {
    jP.getUserProfile = function (UserID) {
        var ProfileURL = jP.SiteURL+"/_layouts/userdisp.aspx";
        if(typeof UserID !== "undefined")
            ProfileURL = ProfileURL + "?ID=" + UserID;
        $.ajax( {
            type: "GET",    //jQuery ajax GET
            async: false,
            cache: false,
            url: ProfileURL, //userprofile url
            success: function(data){
                var tags = $(data).find("h3 > a");  //look for anchor in h3 tag
                if (tags.length > 0) {
                    var profile = {};
                    var fields = [];
                    var item = {};
                    $.each(tags, function(){
                        var name = this.name;   //name attritbute
                        var td = $(data).find("tr a[name='"+name+"']").parent().parent();  //get label td
                        var labelname = jP.strip(td.text());  //get label text as field name
                        if (labelname == "Picture") {
                            //special handling for Picture field
                            //concat attribute alt and src together
                            var img = td.siblings().find("img");
                            var val = img.attr("alt") + ";#" + img.attr("src");
                        }
                        else {
                            //get text of next td cell
                            var val = $.trim(td.siblings().text());
                        }
                        var intname = name.substr(name.indexOf("_")+1); //internal field name
                        if ($.inArray(intname, fields)==-1) {  //save as internal fieldname
                            fields.push(intname);
                            item[intname] = profile[intname] = val;
                        }
                        if ($.inArray(labelname, fields)==-1) { //save as label fieldname
                            fields.push(labelname);
                            item[labelname] = profile[labelname] = val;
                        }
                    });
                    //Set profile obj
                    profile["Fields"] = fields;
                    profile["FieldCount"] = fields.length;
                    profile["Items"] = [item];
                    //set UserProfile obj
                    jP["UserProfile"] = profile;
                }   
            }
        });
        return (jP["UserProfile"])
    }
})(jPoint);
4

2 回答 2

1

所以有几件事。这客户端;浏览器执行这个 JScript(因此我选择将其称为 JavaScript ......很好的调用重新标记它)

您正在使用一个名为 jPoint... 的 JavaScript 库,但您正在尝试操作 CAML 查询。

JPoint通过为您提供类似的功能来实践所谓的信息隐藏getUserProfile(),但权衡是我没有得到您可以操纵 CAML 的印象。事实上,从我在实现中看到的内容以及我在他们的网站上阅读的内容来看,我认为它甚至没有 CAML 查询,而只是从配置文件页面中抓取 HTML。

因此,总而言之,我认为您根本没有尝试操纵 CAML,而是需要找到合适的 jPoint 函数来使用。如果 jPoint 没有,您将不得不放弃它并使用更传统的解决方案。

为什么要使用 jPoint 而不是更传统的东西或服务器端?

于 2010-03-27T16:16:37.640 回答
-1

尝试

var type = document.getElementById("testd"); // remember put your things in a div or equal

type.getAttribute('Type').value = "THE JAVASCRIPT VAR";
于 2010-03-24T17:41:13.033 回答