这是我观点的一部分。我需要传输输入名称,我点击它。 下面是一个脚本,点击
后会输入名称<div class="form_hint"><?=form_error('this get value from javascript after click')?></div>
<?php echo form_open("onenews/" . $onenews['id'] . "#signup", $form_reg['main_form']); ?>
<?php echo form_input($form_reg['login'], $this->form_validation->set_value('login')) ?>
<?php echo form_input($form_reg['email'], $this->form_validation->set_value('email')) ?>
<?php echo form_input($form_reg['password']) ?>
<?php echo form_input($form_reg['conf_password']) ?>
<?= MY_Controller:: create_captcha(); ?>
<?php echo form_input($form_reg['captcha']) ?>
<?php echo form_input($form_reg['submit']) ?>
<?php echo form_close(); ?>
</div>
</div>
jq
<script type="text/javascript">
$(function(){
var curInput = '';
$('#form_reg').find('input').on('click', function(){
curInput = $(this).attr("name");
});
})
</script>
或者我必须使用ajax? 谢谢!
答案 0 :(得分:0)
您的问题根本不清楚,但我假设您要动态更改form_hint div的内容。你不能用PHP做到这一点。一旦PHP呈现页面,它就会关闭而不再执行任何操作。因此,使PHP显示该消息的唯一方法是在表单提交之后,但随后丢失了您的点击数据。例如,有一种方法可以在会话中保存单击的元素,但这将是一个非常糟糕的解决方案。
所以最好的解决方案可能是列出JavaScript变量中的所有提示,并在click事件中调用相应的提示,并用它填充form_hint div。
$('.form_hint').text(yourAppropriateMessageHere);
一个示例,其中包含登录输入字段的隐藏div,具体描述如下:
<div class="form_text_login"><?=form_error('login')?></div>
JS
var loginMessage = $('.form_text_login').text();
// list others here
// then make a tree with switch/case or if/else
if (curInput == 'login') {
$('.form_hint').text(loginMessage);
}
else if (curInput == 'email') {
// do the same with the email message, etc.
}