这是一个示例代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Textarea</title>
<style type="text/css">
* {width:100%; height:100%; margin:0; border:0; padding:0; background:#D3D3D3;}
textarea {overflow:auto; box-sizing:border-box; -moz-box-sizing:border-box; padding:6px;}
</style>
</head>
<body>
<form action="#">
<textarea rows="1" cols="1">This is some text.</textarea>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我使用 box-sizing 属性将 textarea 宽度设置为 100% 加上一些填充,它适用于所有主要浏览器。但是,在 Firefox 中,如果您向 textarea 添加更多内容,您会在滚动条周围看到不需要的填充。
示例代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
function on_iframe_load() {
document.getElementById('iframe_a').onload = function() {
alert('Thanks for the visit!');
};
}
</script>
</head>
<body>
<iframe name="iframe_a" id="iframe_a"></iframe>
<a href="http://www.example.com/" target="iframe_a" onclick="on_iframe_load();">Go!</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它适用于所有主流浏览器没有问题,但IE8(可能还有以前的版本)不理解它.
更新:刚刚提出了一个解决方案,但我不确定它是否正确编码.请查阅:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
var clicked = false;
function activate() {
clicked = true;
}
function pop() {
if (clicked) {
alert('Thanks for the visit!');
};
}
</script>
</head>
<body>
<iframe name="iframe_a" onload="pop();"></iframe>
<a href="http://www.example.com/" target="iframe_a" onclick="activate();">Go!</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 以下iframe是弹性项目,应该拉伸并填充可用空间:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Flex Iframe</title>
<style>
body {
display: flex;
margin: 0;
height: 100vh;
}
span {
background: green;
}
iframe {
background: tan;
}
</style>
</head>
<body>
<span>Hello, world!</span>
<iframe></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但在IE11中看起来并不合适:
DEMO
这是一个错误吗?什么是跨浏览器解决方案?
考虑一下:
<input type="file" id="filePicker">
<script>
document.getElementById('filePicker').onchange = function() {
alert('Hi!');
};
</script>
Run Code Online (Sandbox Code Playgroud)
即使您选择了相同的文件且filePicker值没有改变,您也会在Firefox中看到警告框.有解决方案吗
当我安装Google App Engine SDK并运行启动器时,它会要求我配置python位置:
当我打开Preferences它,它要求一个python可执行文件的路径:
我应该插入哪条路径,区别是什么:
python google-app-engine launcher google-app-engine-python google-app-engine-launch
<form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
<input type="range" name="b" value="50" /> +
<input type="number" name="a" value="10" /> =
<output name="result">60</output>
<br>
<button type="reset">Reset</button>
</form>Run Code Online (Sandbox Code Playgroud)
更改input值,然后按重置按钮。在Firefox中,表单重设会将output值设置为空字符串,而不是其默认值。似乎Firefox无法理解HTMLOutputElement.defaultValue:
console.log(document.getElementById('output').defaultValue);Run Code Online (Sandbox Code Playgroud)
<output id="output">60</output>Run Code Online (Sandbox Code Playgroud)
是虫子吗?
这是文档:HTMLFieldSetElement - Web APIs | MDN。
我想知道fieldset有效性是什么意思。这是否意味着所有 的有效性inputs,例如,在 内fieldset?那么,如果您输入超出范围的值,为什么以下内容不起作用:
var form = document.querySelector('form');
form.querySelector('button').addEventListener('click', function() {
var fieldsets = form.querySelectorAll('fieldset');
for (var fieldset of fieldsets) {
var output = fieldset.querySelector('output');
if (fieldset.validity.valid) {
output.value = 'Valid!';
} else {
output.value = 'Invalid!';
}
}
});Run Code Online (Sandbox Code Playgroud)
input {
width: 4em;
}
input:invalid {
outline: 1px solid red;
}Run Code Online (Sandbox Code Playgroud)
<form>
<fieldset>
<input type="number" step="any" min="0" max="100">
<input type="number" step="any" min="0" max="100">
<input type="number" step="any" …Run Code Online (Sandbox Code Playgroud)当您在浏览器中复制选项卡时,元素的当前值form将被忽略。在 Windows 11 计算机上的最新版本 Chrome、Firefox 和 Edge 中进行了测试。
var textarea = document.querySelector('textarea');
var p = document.querySelector('p');
var range = document.querySelector('input[type="range"]');
var output = document.querySelector('output');
var checkbox = document.querySelector('input[type="checkbox"]');
var span = document.querySelector('span');
var theme = document.querySelector('select');
function write() {
p.textContent = textarea.value;
output.value = range.value;
span.textContent = checkbox.checked;
document.body.className = theme.value;
}
textarea.addEventListener('input', write);
range.addEventListener('input', write);
checkbox.addEventListener('change', write);
theme.addEventListener('change', write);
write();Run Code Online (Sandbox Code Playgroud)
body {
display: grid;
grid-template-columns: repeat(2, max-content);
gap: 1em 0.5em;
}
body.Dark {
color: white; …Run Code Online (Sandbox Code Playgroud)这是一个示例表单:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample form</title>
<script type="text/javascript">
function displayResult() {
alert(document.myForm.myInput.value);
}
function getFocus() {
if (document.myForm.myInput.value == document.myForm.myInput.defaultValue) {
document.myForm.myInput.value = "";
}
}
function loseFocus() {
if (document.myForm.myInput.value == "") {
document.myForm.myInput.value = document.myForm.myInput.defaultValue;
}
}
</script>
</head>
<body>
<form name="myForm" method="get" onsubmit="return false;" action="">
<input name="myInput" value="Hello world!" onfocus="getFocus();" onblur="loseFocus();"><br>
<input type="button" onclick="displayResult();" value="Display input value">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它没有问题,但以下不是变量x似乎是正确的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,其中用户输入一些输入,并且在单击共享链接(例如Facebook共享链接)时,他们不应该离开页面:
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.example.com%2F">Share on Facebook</a>
Run Code Online (Sandbox Code Playgroud)
我知道使用弹出窗口进行此类链接非常普遍。但这比简单target="_blank"属性有什么优势吗?您如何比较这两种方法?在这种情况下哪种方法是正确的?
html ×7
javascript ×7
forms ×3
css ×2
firefox ×2
iframe ×2
browser ×1
constraints ×1
file-upload ×1
flexbox ×1
hyperlink ×1
input ×1
launcher ×1
python ×1
tabs ×1
validation ×1