我有幾個關於表單和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