gpt4 book ai didi

php - 有关表单和 php 的问题(清除表单、实时刷新、多行)

转载 作者:行者123 更新时间:2023-11-28 18:51:51 24 4
gpt4 key购买 nike

我有几个关于表单和 PHP 的问题,但如果我应该将它们放在不同的帖子中,那么我会的。

这是我的表单代码:

<form id="t-form" name="tForm" action="translate.php" method="POST">
<div id="t-bar">
<div class="t-select">
<select name="start-lang" id="choice-button">
<option value="english">English</option>
</select>
<label>into</label>
<select name="end-lang" id="choice-button" onChange="document.forms['tForm'].submit();">
<option value="caps"<?php if ($resLang == 'caps') echo ' selected="selected"'; ?>>CAPS</option>
<option value="lowercase"<?php if ($resLang == 'lowercase') echo ' selected="selected"'; ?>>lowercase</option>
</select>
<input type="submit" id="t-submit" value="Translate">
</div>
</div>
<div id="t-main">
<textarea id="txt-source" name="t-src" autofocus="autofocus" placeholder="Type in what you would like to convert…" onChange="document.forms['tForm'].submit();"><?php echo $source; ?></textarea>
<input type="button" id="t-clear" onclick="this.form.elements['t-src'].value=''">

<textarea id="txt-result" name="txt-result" readonly disabled="disabled" placeholder="result..."><?php echo $result; ?></textarea>
<input type="button" id="t-copy" name="t-copy">
</div>
</form>

问题 1: 我目前有 onclick="this.form.elements['t-src'].value=''" 当按钮被按下。是否可以在我的表单中使用相同的属性清除两个文本区域?我似乎无法在任何地方找到用 1 个按钮清除 2 个元素的答案。我不想清除表单,因为我想保留选定的下拉值,所以这就是我这样做的原因。
问题 2:我将如何实现结果文本区域的实时刷新,以便用户可以简单地键入并查看结果?我查看了所需的 ajax 和 jquery,但很困惑,因为大多数都没有显示如何输出到表单元素而只输出到 div。 (类似于谷歌的翻译)

问题 3: 我意识到如果用户在文本区域中换行,当他们提交翻译时,会出现 php header 错误。有什么想法可以避免这种情况吗?这是我在表单中使用的 translate.php 文件的标题:

header("location: /?txt-result=$result&t-src=$textSource&end-lang=$outputLang");

我只是想将此作为一项学习练习,非常感谢任何指导或对这三个问题的回答。非常感谢您的帮助!

最佳答案

问题1

你应该有:

onclick="clearTextboxes();"

在 javascript 中是这样的:

//if you want to delete all the inputs that are of type text
function clearTextboxes(){
var inputs = document.getElementById('t-form').getElementsByTagName('input');
for (var control in inputs){
if(inputs[control].getAttribute('type') == 'text'){
inputs[control].value = '';
}
}
}

问题2

把它作为答案放在这里太宽泛了,你真的应该看看 jQuery 的 $.ajax,并提出一个有具体疑问的不同问题。

问题3

使用 PHP urlencode() 函数

关于php - 有关表单和 php 的问题(清除表单、实时刷新、多行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9065071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com