javascript - 当按下链接以在不同页面上的表单中的下拉列表中设置值时

标签 javascript jquery html drupal drupal-webform

我正在寻求有关 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 中无法正常工作,因此我无法向您发送工作示例。抱歉!

关于javascript - 当按下链接以在不同页面上的表单中的下拉列表中设置值时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29354951/

相关文章:

javascript - 意外语法错误 : unexpected number

javascript - 根据选择重置选择选项

html - 动态更新的数据列表不会显示

html - 添加新过渡后导航栏显示异常

javascript - 如何使用 mongoose 在 Postman 中实现查询参数

javascript - 当资源不可用时,AngularJS 不断发送无效请求

javascript - Fabric.js + 谷歌字体

Jquery在一个页面中提交多个表单

javascript - 重新排序列表而不根据另一个列表创建新列表

php - javascript if-else 像 php