私は自己学習者であり、現在、3 つのフィールドを持つ行を持ち、顧客が必要とするアイテムの数に応じて同じフィールドを持つ別の行を動的に追加する単純なフォームを構築しています (構築しようとしています)。20点限定とさせていただきます。動的に追加されるフィールドにこの html レイアウトを使用しています。
<div id="input1" style="margin-bottom:4px;" class="clonedInput">
Part #: <input name="part'+i+'" type="text" id="part1" size="10" maxlength="15" />
Description: <input name="description'+i+'" type="text" id="description1" size="30" maxlength="50" />
Qty: <input name="quantity'+i+'" type="text" id="quantity1" size="5" maxlength="5" />
</div>
<p> </p>
<div>
<input type="button" id="btnAdd" onclick="dupForm('input', '.clonedInput', 'btnAdd', 'btnDel');" value="add item" />
<input type="button" id="btnDel" onclick="rmForm('input', '.clonedInput', 'btnAdd', 'btnDel');" value="remove item" />
</div>
そしてこのJavaスクリプト:
function trimNums(stringToTrim) { return stringToTrim.replace(/\d+$/,""); }
function dupForm(divId, divClass, btnAdd, btnRm)
{
//alert(divId+' '+divClass);
var num = $(divClass).length;
var newNum = new Number(num + 1);
var i;
var newElem = $('#' + divId + num).clone().attr('id', divId + newNum).fadeIn('slow');
for (i=0; i < newElem.children().length; i++)
{
var attrId = trimNums(newElem.children(':eq('+i+')').attr('id'));
var attrName = trimNums(newElem.children(':eq('+i+')').attr('name'));
newElem.children(':eq('+i+')').attr('id', attrId + newNum).val('');
}
$('#' + divId + num).after(newElem);
$('#' + btnRm).attr('disabled','');
if (newNum == 20)
$('#' + btnAdd).attr('disabled','disabled');
}
function rmForm(divId, divClass, btnAdd, btnRm)
{
var num = $(divClass).length;
$('#' + divId + num).remove();
$('#' + btnAdd).attr('disabled','');
if (num-1 == 1)
$('#' + btnRm).attr('disabled','disabled');
}
</script>
私の質問は、このフォームを特定の電子メールに送信できるように、変数を PHP に取り込むにはどうすればよいかということです。
注意してください: フォームにはさらにフィールドがあり、php で情報を収集するために、次の php スクリプトを使用しています。
$emailField = $_POST['email'];
$company_nameField = $_POST['company_name'];
$dateField = $_POST['date'];
$phoneField = $_POST['phone'];
$part1Field = $_POST['part1'];
$part2Field = $_POST['part2'];
$description1Field = $_POST['description1'];
$description2Field = $_POST['description2'];
そして、これをテストに使用している電子メールに投稿するには:
$body = <<<EOD
メールアドレス: $email
会社名: $company_name
日付: $date
電話番号: $phone
$part1 | $description1 | $quantity1
EOD;
動的値の変数を収集することで、別のコードが必要であり、そこで立ち往生していることがわかります。誰かが私を正しい解決策に導くことができれば、私はそれをとても感謝しています.