Tôi đang cố gắng chọn trường email trong mẫu đặt phòng iframe này. Cuối cùng tôi muốn làm một cái gì đó khác với trường nhưng bây giờ là một thử nghiệm tôi chỉ muốn chọn phần tử và thay đổi trình giữ chỗ.
Nhận được lỗi này vì vậy tôi không chọn đúng: Uncaught TypeError: Không thể đặt thuộc tính 'giữ chỗ' của null tại HTMLButtonEuity.changeCopy
Bạn có thể xem phiên bản trực tiếp của mã của tôi tại đây và thấy lỗi trong bảng điều khiển khi bạn nhấp vào nút ở trên cùng: https://finnpegler.github.io/cart_recover/
Tôi cũng đã bao gồm mã dưới dạng đoạn trích bên dưới nhưng nó đưa ra một lỗi khác với các khung gốc.
var iframe = document.getElementById("booking-widget-iframe");
var field = iframe.contentWindow.document.querySelector("booking[email]");
function changeCopy() {
field.placeholder = "hello";
}
document.getElementById("button").addEventListener("click", changeCopy)
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test site for Cart Recover Tool</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" media="screen" href="stylesheet.css" />
<link href="https://fonts.googleapis.com/css?family=Bree+Serif|Open+Sans&display=swap" rel="stylesheet">
<link rel="icon" href="favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
Clicking this button should change the placeholder text in the email field below
<button id = "button">Click</button>
</body>
<script src="https://bettercleans.launch27.com/jsbundle"></script><iframe id="booking-widget-iframe" src="https://bettercleans.launch27.com/?w_cleaning" style="border:none;width:100%;min-height:2739px;overflow:hidden" scrolling="no"></iframe>
<script src="script.js"></script>