在PHP中,在特定的CMS中,我使用的是自定义字段,其效果类似于Google建议。
对于每个字母,我输入一个SQL查询并显示匹配的记录。点击一条记录时,它会用该记录填充该字段。
我相当确定这一切都是用JavaScript完成的。
我需要知道如何在提交之前访问该字段的结果内容,文本通过JS放置,以便我可以爆炸()它。
我使用的CMS使用的是mootools,所以依靠mootools的解决方案将是理想的。
答案 0 :(得分:0)
(这个答案假设您可以控制表单的标记(在提交之前需要字符串“爆炸”的表单)和/或您对使用的任何插件感到很舒服。)
首先,确保您没有使用实际的提交按钮()提交表单。我们需要在摆弄字段内容后使用javascript提交表单。
接下来,确保您的输入框(您正在抓取文本的输入框)和隐藏的输入具有唯一ID。这样可以更容易地在DOM中查询我们需要的数据。
在表单中,代替“真实”提交按钮,创建一个表单按钮:
<form action="something.php" name="myform">
<input type="hidden" id="hiddenItem">
// SOME STUFF
<input type="text" id="autocomplete_field" value="whatever"/>
// SOME OTHER STUFF
<input type="button" value="Submit" onclick="processForm(this)"/>
</form>
然后,编写一个javascript函数来处理字符串并提交表单:
processForm = function(el){
text = $('autocomplete_field').get('value');
// Lets assume the strings separates words (what you're exploding apart) using spaces
// something like 'DOGS CATS BIRDS PETS'
var array = text.split(' ');
// returns ['DOGS','CATS','BIRDS','PETS']
$('hiddenItem').set('value',array[0]);
// #hiddenItem now has the value 'dogs'
//SUBMIT THE FORM
el.getParent('form').submit();
};
希望这有帮助!
答案 1 :(得分:-1)
您可以尝试使用JS将某个事件(onkeyup?)上的字段发送到您的php脚本。在它完成之后,将结果存储为会话变量,您可以稍后检索它。 尝试使用jquery的get函数。
这是你的问题吗?