我有几个关于表单和PHP的问题,但是如果我应该把它们放到不同的帖子中,那么我会。关于表单和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=''"
按下按钮时清除一个文本框。是否有可能具有相同的属性清除我的表单中的两个textareas?我似乎无法找到任何地方用1个按钮清除2个元素的答案。我不想清除表单,因为我想保留选定的下拉值,这就是为什么我这样做。
问题2:我该如何去实现结果textarea的实时刷新,以便用户可以简单地键入并查看结果?我已经看过所需的ajax和jquery,并且很困惑,因为大多数不会显示如何输出到表单元素,只输出到div。 (类似于Google的翻译)
问题3:我意识到,如果用户确实在textarea的新行,当他们提交翻译,这让他们有一个PHP头错误。任何想法如何我可以避免这一点?这是我在表单中使用的translate.php文件头:
header("location: /?txt-result=$result&t-src=$textSource&end-lang=$outputLang");
我只是想做到这一点作为一个学习excersise,真的希望任何指导或回答的三个问题。非常感谢您的帮助!
对于第三个问题,你将不得不为每个变量使用urlencode($ var)。其他两个更复杂。并在第一个,你写“我目前有......清除一个文本框”,一些文字在那里失踪? – 2012-01-30 14:49:53
感谢urlencode提示,工作就像一个魅力!关于问题1,我继续解决这个问题,谢谢! – MCG 2012-01-30 15:07:19
你想如何识别你想清除的文本框?他们应该有一类他们的owm?或者你知道他们的ID? – 2012-01-30 15:09:23