从模式弹出窗口重定向页面



我在一个页面上有一个简单的模式对话框,如下所示,单击Go按钮,用户应该根据下拉列表中的所选选项导航到另一个页面;其看起来像CCD_ 1;我犯了一个错误,这对我来说毫无意义。我尝试了几种不同的东西,一定是错过了一些真正的小东西。有什么见解吗?感谢

<div id="home-choose-spec" class="modal fade home-spec-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">            
<div class="modal-dialog modal-sm login-modal">
<div class="modal-content white-bg rounded">
<div class="modal-body">
<button aria-hidden="true" data-dismiss="modal" class="close" type="button">x</button>
<div class="reg-block border-none">
<div class="reg-block-header">
<h2 class="dark-blue bold">Select a product:</h2>                                                                   
</div>
<div class="margin-bottom-20">
<form class="reg-page" method="post">
<select name="pid" id="pid" class="form-control input margin-bottom-20">
<cfoutput query="products"> 
<option value="#pid#">#product_name#</option>
</cfoutput>
</select>                                                             
<a class="btn btn-lg btn-block btn-home-spec-choice light-blue-bg white bold rounded" href=’mysite.com/<cfoutput>#product_name#</cfoutput>’>Go!</a>
</form>
</div>
</div>
</div>
</div>
</div>
</div>

目前尚不清楚问题是什么……无论您是遇到javascript错误还是cf错误,但您似乎试图在同一页面的同一实例中使用产品名称作为填充。

这是完全可能的,但不是你怎么做的。看起来你试图在不提交页面的情况下获得盒子的值。

在链接中添加一个id,我选择了mlink

在初始加载时,您可以使用cf填充等于默认选定选项值的值

<div class="modal-body">
<button aria-hidden="true" data-dismiss="modal" class="close" type="button">x</button>
<div class="reg-block border-none">
<div class="reg-block-header">
<h2 class="dark-blue bold">Select a product:</h2>                                                                   
</div>
<div class="margin-bottom-20">
<form class="reg-page" method="post">
<select name="pid" id="pid" class="form-control input margin-bottom-20">
<cfoutput query="products"> 
<option value="#pid#">#product_name#</option>
</cfoutput>
</select>                                                             
<a id="mlink" class="btn btn-lg btn-block btn-home-spec-choice light-blue-bg white bold rounded" href=’#’>Go!</a>
</form>
</div>
</div>
</div>

然后使用类似的javascript

document.getElementById('mlink').onclick = function (e) {
var pidselect = document.getElementById('pid')
this.href = "http://somesite.com/"+ pidselect.options[pidselect.selectedIndex].innerHTML;
}

这里有一个JSFiddle演示,函数中还有两行代码,用于在链接触发之前捕获链接,用href值提醒您,并停止触发(这样您就不会离开JSFiddle页面。

请注意,jsfiddle中的html与这里不同(我删除了cfoutputs并复制了一个选项,所以有一些东西可以证明它是有效的,所以如果你复制html,请从这个页面复制它

最新更新