ошибка вызова функции в javascript для sharepoijnt - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь использовать следующий код, чтобы открыть новый элемент дочернего списка на вкладке редактирования элемента для родительского списка.

Функция не выполняется, может кто-нибудь, пожалуйста, помогите мне. В лучшем случае я новичок.

<script type="text/javascript">
function ProductItem(newFormPath)
 {
 // Get the Query String values and split them out into the vals array
 var vals = new Object();
 var qs = location.search.substring(1, location.search.length);
 var args = qs.split("&");
for (var i=0; i < args.length; i++) {
 var nameVal = args[i].split("=");
var temp = unescape(nameVal[1]).split('+');
nameVal[1] = temp.join(' ');
vals[nameVal[0]] = nameVal[1];
 }
 var IDColumn = vals["ID"];
window.location = newFormPath + “?ParentID=” + IDColumn;
 }
</script>
<a href=”javascript:ProductItem(‘[YOUR-SITE-PATH]/Lists/ChildTasks/NewForm.aspx’);”>Click here to add a new Task to this Contact</a>

Я вынул реальное название сайта. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Протестировал ваш скрипт в моей локальной среде, вы можете попробовать его.

<script type="text/javascript">
        function ProductItem(newFormPath) {
            // Get the Query String values and split them out into the vals array
            var vals = new Object();
            var qs = location.search.substring(1, location.search.length);
            var args = qs.split("&");
            for (var i = 0; i < args.length; i++) {
                var nameVal = args[i].split("=");
                var temp = unescape(nameVal[1]).split('+');
                nameVal[1] = temp.join(' ');
                vals[nameVal[0]] = nameVal[1];
            }
            var IDColumn = vals["ID"];
            window.location = newFormPath + "?ParentID =" + IDColumn;
        }
    </script>
    <a href="javascript:ProductItem('http://sp/Lists/MyTasks/NewForm.aspx');">Click here to add a new Task to this Contact</a>
0 голосов
/ 14 февраля 2020

После исправления кавычек функция выглядит так, как будто она вызывается. Я добавил console.log внутри функции и прокомментировал все остальное для тестирования.

Я не знаком с location, но не думаю, что смогу воспроизвести ожидаемый результат локально. Так что это насколько я могу помочь.

<script type="text/javascript">
  function ProductItem(newFormPath) {
    console.log('Inside function ProductItem', newFormPath)

    // Get the Query String values and split them out into the vals array
    // var vals = new Object()
    // var qs = location.search.substring(1, location.search.length)
    // var args = qs.split('&')
    // for (var i = 0; i < args.length; i++) {
    //   var nameVal = args[i].split('=')
    //   var temp = unescape(nameVal[1]).split('+')
    //   nameVal[1] = temp.join(' ')
    //   vals[nameVal[0]] = nameVal[1]
    // }
    // var IDColumn = vals['ID']
    // window.location = newFormPath + '?ParentID =' + IDColumn
  }
</script>
<a
   href="javascript:ProductItem('[YOUR-SITE-PATH]/Lists/ChildTasks/NewForm.aspx');">Click
  here to add a new Task to this Contact</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...