我的Javascript函数一直在运行/循环

我的Javascript函数一直在运行/循环,javascript,jquery,html,Javascript,Jquery,Html,我有一个脚本,我正试图在SharePoint页面上运行该脚本。这是一个HTML表单Web部件。加载页面时,我希望自动将默认值设置为“空白”。我对javascript非常陌生,但我需要立即完成这项工作,所以我向谷歌寻求帮助。我能够找到这个脚本并对其进行了修改。请帮我找出我做错了什么,页面会一直刷新直到超时 <table cellpadding="0" cellspacing="0" width="100%" border="0"> <tr> <td a

我有一个脚本,我正试图在SharePoint页面上运行该脚本。这是一个HTML表单Web部件。加载页面时,我希望自动将默认值设置为“空白”。我对javascript非常陌生,但我需要立即完成这项工作,所以我向谷歌寻求帮助。我能够找到这个脚本并对其进行了修改。请帮我找出我做错了什么,页面会一直刷新直到超时

<table cellpadding="0" cellspacing="0" width="100%" border="0">



<tr>

    <td align="left">

         <span class="CCSPDDLLabel">For Legacy vs Spectrum :</span>

<select name="LegacyVsNew" onchange="LegacyVsNewChangeCategory(this)">                            
<option value="New" selected="selected">New</option>
<option value="New">New</option>        
<option value="Legacy">Legacy</option>
</select>   

               </td>

               </tr>

</table>



<script type="text/javascript" language="javascript">

var fieldName = document.getElementsByTagName('select')[0];
var fieldNameValue = fieldName.options[fieldName.selectedIndex];
var fieldNameText = fieldName.options[fieldName.selectedIndex].text;



LegacyVsNewChangeCategory();

function LegacyVsNewChangeCategory()
    {


        if(fieldNameValue.value)    
            _SFSUBMIT_();


    else 
            location.href="/features/custom-filter-html-form"
    }


</script>

对于传统与频谱:
新的
新的
遗产
var fieldName=document.getElementsByTagName('select')[0];
var fieldNameValue=fieldName.options[fieldName.selectedIndex];
var fieldNameText=fieldName.options[fieldName.selectedIndex].text;
LegacyVsNewChangeCategory();
函数LegacyVsNewChangeCategory()
{
如果(fieldNameValue.value)
_提交();
其他的
location.href=“/features/custom filter html表单”
}
谢谢

加载页面时,我希望自动将默认值设置为“空白”

默认情况下,您选择了第一个选项

<option value="New" selected="selected">New</option>
新建
请尝试以下方法:

<option selected="selected">Select...</option>
<option value="New">New</option>        
<option value="Legacy">Legacy</option>
选择。。。
新的
遗产
但即使执行上述步骤,您仍将始终选择一个值,并且您仍在函数中运行重定向

您正在页面加载时调用函数。该函数检查是否选择了某项内容,然后运行
\u SFSUBMIT_u2;()如果选择了某个内容,否则将运行重定向。由于您的页面以所选内容开头,因此它将继续运行
\u SFSUBMIT_u3;()。如果没有选定的值,它将立即重定向您


JSFiddle演示:

我很好奇-您认为脚本的哪一部分将默认值设置为空白?感谢您的快速响应。如果我删除LegacyVsNewChangeCategory();然后,当页面加载时,函数将不会运行,我希望它这样做。我只希望它在页面加载时运行一次,这样我就可以设置我的值。_SFSUBMIT_uz();正在提交SharePoint页面。但在页面加载时,您告诉它要么重新定向,要么执行
\u SFSUBMIT\。javascript中没有设置任何值。谢谢!这很有道理。那么,有没有一种方法可以让这个在页面加载时运行一次?这些下拉列表用于设置过滤器值。所以我想在页面上加载的过滤器是空的(这将显示没有结果,而不是全部)。现在,删除所选选项的值,就像我上面所说的。此外,您需要修改
if
语句以查找大于0的选定索引,这意味着“不是第一个选项(Select…)。这将使您的函数落入
位置。href
重定向。如果你不想发生这种事,我会把else的案子全部删除。我已经为您做了一个详细说明: