我对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
答案 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();