首页 > 解决方案 > 如何停止从 div 的 ID 重定向到父 URL

问题描述

我有一个使用 Salesforce 的自定义 URL公开托管的 Visualforce 页面。我有三个不同的视图(使用 div 标签的 ID)和输入表单。

输入形式之一:

<div class="container" id="leadForm1" ng-show="index == 1" >
  ...
  <apex:inputField id="compName" value="{!newPerson.SuppliedCompany}" required="true" 
                 label="Company" html-class="form-control form-control-max"/> 
  ...
  ...
  <apex:commandLink action="{!Applicant}" value="Submit" id="submitForm" onclick="doValidation();"/>
  ...
</div>

JavaScript:

<script>
function doValidation(){
        var samTemp = document.getElementById('{!$Component.vfPage.applicantForm.theEventBlock.compName}');
        //alert(samTemp);
        if(document.getElementById('{!$Component.vfPage.applicantForm.theEventBlock.compName}') == 'null'){
            if(alert('Please fill out all fields!')){
                window.location.href = '/InputForm#leadForm1';    
            }    
        }
        else{
            return;
        } 
    }
</script>

使用警报,我得到一个确定按钮,然后单击它带我到实际页面(不坚持视图,即#leadForm1)。

我怎样才能让它不重定向?

注意:我试图让用户保持在输入表单上,直到他们为必填字段提供一些输入,因为我在实际 Visualforce 页面中使用切换功能来隐藏/显示输入表单,使用:

if (x.style.display === 'none') {
            x.style.display = 'block';
        } else {
            x.style.display = 'none';
        }  

标签: javascripthtmlredirectvisualforce

解决方案


推荐阅读