document.addEventListener('DOMContentLoaded', () => {
$('#colorDropdown').ddslick({
data: ddData,
background: '#fff',
imagePosition: "left",
selectText: "Выбрать цвет",
onSelected: (data) => {
const colorInput = $('#form-popup-catalog input[name="color-product"]');
const ralColors = $('.ral-colors');
const ralColorProduct = $('.ral-colors .ral-color-product');
colorInput.val(data?.selectedData?.text);
ralColors.css('display', 'block');
const imgHtml = `<img src="${data?.selectedData?.imageSrc}" alt="${data?.selectedData?.alt}">`;
ralColorProduct.empty().html(`${data?.selectedData?.text}${imgHtml}`);
}
});
});
Почему вылазит ошибка self.querySelector(...) is null?
async function getValue() {
const input = document.querySelector('#input-id');
try {
const res = await fetch('/', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({'value': input.value})
});
if (res.ok) {
console.log('Send success!');
} else {
throw new Error(`Send error, ${res.statusText}`);
}
} catch (error) {
console.error('Error', error);
}
}
from flask import Flask, render_template, request, jsonify
import json
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
return render_template('index.html')
elif request.method == 'POST':
try:
data = request.json
if 'value' in data:
value = validate(data['value'])
return jsonify({'message': 'Success!', 'value': value}), 200
else:
raise KeyError('Value key not found')
except (KeyError, json.JSONDecodeError) as e:
return jsonify({'error': 'Invalid data format'}), 400
def validate(value):
return value
if __name__ == '__main__':
app.run(debug=True)
Поля формы ограничены по количеству символов
document.addEventListener('DOMContentLoaded', () => {
const elements = document.querySelectorAll('.wpcf7-form input[type="text"], .wpcf7-form textarea');
elements.forEach((el, i) => {
const maxLength = parseInt(el.getAttribute('maxlength'), 10);
el.addEventListener('input', () => {
const length = el.value.length;
if (length >= maxLength) {
if (i + 1 < elements.length) {
elements[i + 1].focus();
}
}
});
});
});
document.addEventListener('DOMContentLoaded', () => {
const elements = document.querySelectorAll('.wpcf7-form input[type="text"], .wpcf7-form textarea');
elements.forEach((el) => {
el.addEventListener('input', (e) => {
e.target.value = e.target.value.replace(/\s+/g, '');
});
});
});
only-numbers
):document.addEventListener('DOMContentLoaded', () => {
const elements = document.querySelectorAll('.only-numbers');
elements.forEach((el) => {
el.addEventListener('input', (e) => {
e.target.value = e.target.value.replace(/\D/g, '');
});
});
});
Через какой то скрипт хотя бы подскажите направление. В tampermonkey не нашел ничего подобного.
// открыто
window.open('youtube.com', '_blank');
// закрыто
if ('/youtube\.com/'.test(window.location.href)) {
window.close();
}
Подскажите, как изменить содержимое input в html?
<div class="ant-input-number-input-wrap">
<input autocomplete="off" role="spinbutton" step="1" class="ant-input-number-input" value="100 000" aria-valuenow="100000">
</div>
const input = document.querySelector('.ant-input-number-input');
input.value = 'new value';
Если редактировать непосредственно в атрибутах (value и aria-valuenow), то в самом input на странице изменения не отображаются (остается значение "100 000"), на сервер возможно уйдет значение из этих атрибутов, но как обновить отображение?
const cb = (mutationsList, observer) => {
for (const mutation of mutationsList) {
if (mutation.type === 'attributes' && mutation.attributeName === 'aria-valuenow') {
mutation.target.value = mutation.target.getAttribute('aria-valuenow');
}
}
}
const input = document.querySelector('.ant-input-number-input');
const observer = new MutationObserver(cb);
observer.observe(input, {attributes: true});
Автоматическая генерация контента на станице на основании GET параметров, хороший вариант для SEO?
Подгружается не только содержимое, но еще меняет title и description.
С точки SEO это вообще будет как-то продвигаться или для каждого вопроса делать отдельную страницу?
Я могу как-то отследить эту ошибку (не в определенной части кода, а вообще где угодно), в положительном случае
from jspybridge import JSPyBridge
bridge = JSPyBridge()
try:
# код, который отработает без ошибок
except jspybridge.JSPyBridgeError as e:
# код, который выбросит исключение, например, при краше Nodejs
print(f"ОшибкО: {e}")
import {JSPyBridge, JSPyBridgeError} from 'jspybridge';
const bridge = new JSPyBridge();
try {
// код, который отработает без ошибок
} catch (error) {
if (error instanceof JSPyBridgeError) {
// код, который выбросит исключение, например, при краше Nodejs
console.error(`ОшибкО: ${error.message}`);
}
}
я могу ее просто игнорировать или нужно как-то перезапустить код?
Либо возможно как-то избавиться от этой ошибки?
Но сейчас я использую wordpress и wp_enqueue_script. Можно ли как-то добавить "module" к wp_enqueue_script?
function my_scripts() {
wp_enqueue_script('unique_script_id', get_template_directory_uri() . '/path/script.js', [], null, true);
wp_script_add_data('unique_script_id', 'type', 'module');
}
add_action('wp_enqueue_scripts', 'my_scripts');