我正在寻求有关Drupal网站中某些编码的帮助。

我有页面a,其中列出了提供的服务。
b页有一个联系表,其中有一个联系表,最顶部有一个下拉列表,其中包含所提供服务的列表。

我需要的是,当在页面a上按下链接时,按下的链接将下拉列表值设置为该链接所对应的服务。

这是我要更改的表单部分的代码。

<form class="webform-client-form webform-client-form-37 webform-conditional-processed"
enctype="multipart/form-data" action="/?q=contactus"
method="post" id="webform-client-form-37" accept-charset="UTF-8">


<select id="edit-submitted-subject-query1" name="submitted[subject_query1]" class="form-select required">
<option value="Bike Enquiry">Bike Enquiry</option><option value="General" selected="selected">General</option>
  <option value="MOT Appointment Enquiry">MOT Appointment Enquiry</option>
  <option value="Restoration/Service Enquiry">Restoration/Service Enquiry</option>
  <option value="Sponsorship">Sponsorship</option>
  <option value="Other Subject">Other</option>
</select>


任何帮助将不胜感激!

最佳答案

您将需要以某种方式将所选ID传递到另一页。以下是如何使用查询字符串传递ID的示例。有关其他选项,请参见this问题。

A页

<a href="?id=Sponsorship">Sponsorship</a><br />
<a href="?id=MOT_Appointment_Enquir">MOT Appointment Enquiry</a><br />
<a href="?id=Other_Subject">Other Subject</a><br />


网页B

的HTML

<select id="edit-submitted-subject-query1" name="submitted[subject_query1]" class="form-select required">
<option value="Bike_Enquiry">Bike Enquiry</option><option value="General" selected="selected">General</option>
  <option value="MOT_Appointment_Enquiry">MOT Appointment Enquiry</option>
  <option value="RestorationService_Enquiry">Restoration/Service Enquiry</option>
  <option value="Sponsorship">Sponsorship</option>
  <option value="Other_Subject">Other</option>
</select>


JS(在文档加载功能中)

$("#edit-submitted-subject-query1").val(getParameterByName("id"));

//Take from https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}


该示例在JSFiddle中无法正常工作,因此我无法向您发送一个有效的示例。抱歉!

07-24 09:50
查看更多