预填表单(无法控制表单代码)


Pre-fill a form (no control over form code)

我正在使用表单插件/插件,无法控制表单的生成方式。

表单生成如下所示的 HTML:

<form>
<label>First Name</label><input name="Question25" type="text" value="" />
<input class="formBlockSubmitButton" name="add" type="submit" value="Submit" />
</form>

我想预先填写一些表单值,但我不能写,比如

<input name="Question25" type="text" value="<?php echo $my_value; ?>" />

因为表单插件会生成该 HTML。我可以在这个块之前编写PHP或Javascript,有没有办法搜索名称为"Question25"的输入,然后在块出现时预填充它?

你可以

使用 jQuery 和 .val() 方法:

<script type="text/javascript">
    $(function() {
        $('input[name="Question25"]').val('some value');
    });
</script>

如果值必须来自服务器:

<script type="text/javascript">
    $(function() {
        var obj = <?php echo json_encode(array('value' => $my_value)); ?>;
        $('input[name="Question25"]').val(obj.value);
    });
</script>

您可以将要搜索的所有值作为字段名称/值数组发出,然后发出一个尝试将这些值映射到这些字段的函数。

<script type="text/javascript">
var values = [{fieldName:'Question25', value:'MyValue'}]; // iterate through your values in PHP and generate the {fieldName:'value',value:'value'} object
$(function() {
    $.each(values, function(index, item) {
         $('input[name=' + item.fieldName + ']').val(item.value);
    });
});
</script>
var value='<?php echo $my_value; ?>'
$("input:text[name='Question25']").val(value);

使用这样的东西

使用 Javascript。使用jQuery,你可以做一些类似的事情:

$("input[name=Question25]").val(my_value);

然后,您可以使用echo将PHP vairables插入Javascript中,使用AJAX加载它们,或者您需要的任何内容。