通过PHP访问JS放置的字段中的文本

时间:2010-07-01 19:05:26

标签: php javascript ajax forms mootools

在PHP中,在特定的CMS中,我使用的是自定义字段,其效果类似于Google建议。

对于每个字母,我输入一个SQL查询并显示匹配的记录。点击一条记录时,它会用该记录填充该字段。

我相当确定这一切都是用JavaScript完成的。​​

我需要知道如何在提交之前访问该字段的结果内容,文本通过JS放置,以便我可以爆炸()它。

我使用的CMS使用的是mootools,所以依靠mootools的解决方案将是理想的。

2 个答案:

答案 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函数。

这是你的问题吗?