我已經編寫了一個聯繫表單,它根據在頁面頂部的(表單選擇選項)下拉列表中選擇的內容進行更改,使用某些javascript隱藏元素並進行更改'required'classes etc將javascript onclick參數傳遞給另一頁上的元素
這可以在頁面上正常工作。
在網站的導航中,我有一個下拉(引導程序3),它模仿了表單下拉列表中的選項。這個想法是,訪問者有兩種選擇可以移動到他們想要的形式,無論是從導航,還是從聯繫頁面的下拉菜單。
我有一些JavaScript檢測導航選擇,應該改變聯繫頁面上的關聯下拉,這實際上是可行的,只要你已經在聯繫頁面上。
我遇到的困難是將價值傳遞給主頁上的聯繫頁面。
下面的一些片段可能會幫助:
聯繫頁形式下拉:
<div class="dropdown">
<label for="nature">Nature of Enquiry?</label>
<select tabindex=1 name="nature" id="nature">
<option value="0" selected>Ask a Question</option>
<option value="1">Get a Quote</option>
<option value="2">Submit Meter Reading</option>
<option value="3">Log a Service Call</option>
</select>
</div>
全球導航:
<li class="dropdown <?=($page_title == 'Contact') ? 'active' : ''?>">
<a data-toggle="dropdown" class="dropdown-toggle" href="#">Contact <b class="caret"></b></a>
<ul role="menu" class="dropdown-menu choose">
<li><a href="./contact.php#Contact" id="0">Ask a Question</a></li>
<li><a href="./contact.php#Contact" id="1">Get a Quote</a></li>
<li><a href="./contact.php#Contact" id="2">Submit Meter Reading</a></li>
<li><a href="./contact.php#Contact" id="3">Log a Service Call</a></li>
</ul>
</li>
全球導航的javascript陷阱:
<script>
$('.choose a').click(function() {
$('#nature').val(this.id).change();
});
</script>
本地聯繫人頁面JavaScript更改功能:
$('#nature').change(function()
{
var selectedValue = parseInt(jQuery(this).val());
switch(selectedValue){
case 0:
hide('error');
hide('clicks');
show('subject');
document.getElementById('subjectspan').style.display = 'inline';
document.getElementById('companyspan').style.display = 'none';
$('input#mono').removeClass('required');
$('input#company').removeClass('required');
$('textarea#message').addClass('required');
break;
case 1:
hide('error');
hide('clicks');
show('subject');
document.getElementById('subjectspan').style.display = 'inline';
document.getElementById('companyspan').style.display = 'none';
$('input#mono').removeClass('required');
$('input#company').removeClass('required');
$('textarea#message').addClass('required');
break;
case 2:
hide('error');
show('clicks');
hide('subject');
document.getElementById('companyspan').style.display = 'inline';
document.getElementById('meterspan').style.display = 'inline';
document.getElementById('subjectspan').style.display = 'none';
$('input#mono').addClass('required');
$('input#company').addClass('required');
$('textarea#message').removeClass('required');
break;
case 3:
hide('error');
hide('clicks');
show('subject');
document.getElementById('companyspan').style.display = 'inline';
document.getElementById('subjectspan').style.display = 'inline';
$('input#mono').removeClass('required');
$('input#company').addClass('required');
$('textarea#message').addClass('required');
break;
}
});
我知道JavaScript的最後一點很不整潔,但現在它的工作原理。
就像我說的,如果你已經在聯繫頁面上,導航腳本絕對完美。我怎樣才能從另一個頁面上工作?
因此,當有人點擊「獲取報價」時,您希望它轉到聯繫頁面並默認選擇該選項?只需使用'GET'參數即可。 'Ask a question'等 – Halcyon