Ich versuche, das E-Mail-Feld in diesem Iframe-Buchungsformular auszuwählen. Ich möchte irgendwann etwas anderes mit dem Feld machen, aber als Test möchte ich nur das Element auswählen und den Platzhalter ändern.
Dieser Fehler wird angezeigt, sodass ich ihn nicht richtig auswähle: Nicht erfasst TypeError: Die Eigenschaft 'placeholder' von null in HTMLButtonElement.changeCopy kann nicht festgelegt werden
Sie können hier eine Live-Version meines Codes anzeigen und den Fehler in der Konsole sehen, wenn Sie auf die Schaltfläche oben klicken: https://finnpegler.github.io/cart_recover/
Ich habe den Code auch als Snippet unten eingefügt, aber es wird ein anderer Fehler ausgegeben, der mit Cross-Origin-Frames zu tun hat.
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>