来自所选文本框的PHP POST值

时间:2014-03-29 10:39:14

标签: php jquery html forms

我尝试使用PHP,HTML和jQuery的组合创建比较页面/表单。我喜欢创建的理想效果如下

<form>
    left       |    right
    [text1.l]  |    [text1.r]
    [text2.l]  |    [text2.r]
    submit
</form>

其中[]表示输入文本框。对于特定用例,用户选择将为每行选择左或右文本框并发布表单。基本上我只对处理表单时选择的文本框的值感兴趣。

我在考虑使用单选按钮,因为我只允许每行选择一个方框,但我不确定如何将其设置为检索文本框值。

任何帮助都会受到赞赏,欢呼。

1 个答案:

答案 0 :(得分:0)

JSFIDDLE http://jsfiddle.net/Bq8AF/

<强>表格

<form method="post" action="process.php" class="form">
<fieldset id="left">Left
    <input type="text" name="foo-left-1" size="50" />
    <input type="text" name="foo-left-2" size="50" />
</fieldset>
<fieldset id="right">Right
    <input type="text" name="foo-right-1" size="50" />
    <input type="text" name="foo-right-2" size="50" />
</fieldset>
<input type="submit" value="Submit">
</form>

JS + jQuery

$("input[type=text], textarea").focus(function(){
    // Check for the change from default value
    if(this.value == this.defaultValue){
        this.select();
    }

    // get the name of the field, e.g. foo-left-1
    //alert(this.name);
    var fieldNameSplitted = this.name.split("-");

    // recombine + switch "left" to "right" and vice versa
    var fieldNameOtherSide = '';

    // the ident remains the same (e.g. foo-)
    var fieldNameOtherSide = fieldNameSplitted[0] + "-";

    // left/right switch (e.g. foo-left, gets foo-right and vv)
    if(fieldNameSplitted[1] == 'left') { fieldNameOtherSide += 'right-'; }
    if(fieldNameSplitted[1] == 'right') { fieldNameOtherSide += 'left-'; }

    // row number (e.g. foo-right-2)
    fieldNameOtherSide += fieldNameSplitted[2];

    // now we have the name of the field on the other side of the row, right?
    //alert(fieldNameOtherSide);

    // use that as jQuery selector and disable the element
    // because  the user has selected the other one
    // and when the form is send disabled fields will not be send
    // http://www.w3.org/TR/html401/interact/forms.html#disabled
    $('input[name=' + fieldNameOtherSide + ']').prop("disabled", true);
});
  • 用户通过点击选择文本框。

  • 当&#34;提交&#34;单击,浏览器将仅发送未禁用的字段。 $ _POST数组将只包含所有未禁用字段的值。

  • 当用户输入此内容时: enter image description here 你会得到$_POST['foo-right-1'] = 'car'$_POST['foo-left-2'] = 'dog'