您可以使用一些基本的jQuery。
$('input[name=INPUT_NAME]').val('NEW_VALUE');
完全符合Drupal主題,你可能想在Drupal的行爲來包裝這件事:
(function ($) {
Drupal.behaviors.CUSTOMNAME = {
attach: function(context) {
$('input[name=INPUT_NAME]').val('NEW_VALUE');
}
}
})(jQuery);
...當然變化 INPUT_NAME與隱藏的name屬性輸入字段和 CUSTOMNAME帶有描述性名稱(例如ChangeHiddenValuesForm
)。
最後一點:確保在表單的頁面上包含此JavaScript文件。
編輯: 對不起,我忽略了Secure value
參考。
無論如何,如果你希望值是安全的,那麼你不應該改變它的Javascript,因爲任何人都可以通過DOM將其更改爲他或她喜歡的任何東西......這就是爲什麼Webform實現Secure value
功能:價值確實與表單一起提交,但不會發送到最終用戶的瀏覽器,因此禁用可能的濫用。 (根據記錄:Secure value
使用「值」類型從Drupal的形式API)
如果你想改變這樣一個隱藏的價值,你應該選擇Hidden element (less secure, changeable via JavaScript)
其中已經提到它能夠通過JavaScript來改變,然後使用上面描述的Drupal行爲。只有你這樣做,它纔會被打印爲隱藏的輸入。
感謝,但對'安全values'似乎不顯示爲正常隱藏輸入。有任何想法嗎? – Cybercampbell
請參閱我的文章中的編輯。 – Propaganistas
使用webform 4.x至少你的輸入字段將被命名爲括號,並且你需要類似這樣的內容來用jQuery選擇它們:$('input [name =「submitted [INPUT_NAME]」]')。VAL( 'NEW_VALUE'); - 我不確定這是舊版webform的情況。謝謝你的偉大答案。 –