使用Tampermonkey更改文本输入中的值

时间:2018-07-23 22:35:22

标签: javascript greasemonkey tampermonkey

我对JS还是很陌生,想使用Tampermonkey更改第二个文本框的值,具体取决于在第一个文本框中键入的内容。

我有这个输入字段:

$sql = "SELECT * FROM table WHERE value1 = '$value1' AND value2 = '$value2'" ;

$result = $conn->query($sql);

if ($result->num_rows >0) {


 while($row[] = $result->fetch_assoc()) {

 $tem = $row;

 $json = json_encode($tem);

 }

} 

在上面以字母(任意)开头的字段中的值上,我希望单词“ Other”出现在该字段中:

<input class="next-input js-tracking-number-input" data-bind-event-input="debouncedSetTrackingNumber(this.value, 0, true)" data-bind="trackingNumber" autocomplete="on" size="30" type="text" name="fulfillments[0][shipping_options][tracking_number]" id="fulfillments_0_shipping_options_tracking_number">

id是可变的,并且在每次加载页面时都会更改。

这可能吗?

编辑

似乎我在第二段代码中省略了<input type="text" id="text-1179424fdf221cee11464f318f3e7613" autocomplete="on" data-searchable-select-input="true" class="next-input next-input--invisible" role="combobox" aria-label="Search and select an option for Shipping carrier" aria-expanded="false" aria-autocomplete="list" aria-owns="fulfillments_0_shipping_options_tracking_company-searchable-select"> ,这是要更改为显示 Other 的地方。

placeholder

1 个答案:

答案 0 :(得分:0)

为您创建了现场演示。 非常简单的解决方案。

https://jsfiddle.net/6sy5b0ue/15/

function init() {
  const firstInputElement = document.getElementsByClassName('js-tracking-number-input')[0];

  const secondInputElement = document.getElementsByClassName('next-input--invisible')[0];

  firstInputElement.oninput = (event) => {
    const inputValue = event.currentTarget.value;
    secondInputElement.value = /^[a-z]+/i.test(inputValue) ? 'Other' : ''
  };
}

init();